Как мне изменить имя моего устройства Android? -- settings поле с участием dhcp пол android Связанный проблема

How do I change the name of my Android device?


61
vote

проблема

русский

Мое устройство Android - это Nexus One. Но это должно относиться ко всем текущим устройствам Android.

Как изменить имя моего Android-устройства?

Когда я подключаюсь к клиентским таблицам беспроводной маршрутизатора, мои устройства Android перечислены, например, как: Android_1234567890abedFC. Я хотел бы дать ему более читаемое имя.

Английский оригинал

My Android device is the Nexus One. But this should apply to all current Android devices.

How do I change the name of my Android device?

When I connect to my wireless router's client tables, my android devices is listed for example as: android_1234567890abedfc. I'd like to give it a more readable name.

     
     
     

Список ответов

22
 
vote

Чтобы изменить имя хоста (имя устройства), необходимо использовать терминал (как root):

для Eclair (2.1): echo myname & gt; / proc / sys / jernel / имя хоста

для Froyo (2.2): (работает также на большинстве 2.3) setprop net.hostname myname

Затем перезапустите Wi-Fi. Чтобы увидеть изменения, введите uname -a

Некоторые устройства требуют перезагрузки для работы!

 

To change the hostname (device name) you have to use the terminal (as root):

For Eclair (2.1): echo MYNAME > /proc/sys/kernel/hostname

For Froyo (2.2): (works also on most 2.3) setprop net.hostname MYNAME

Then restart your wi-fi. To see the change, type uname -a

some devices needs reboot for work!

 
 
   
   
17
 
vote

Сводка:

    .
  • <код> getprop net.hostname (имя хоста системы Android, скорее всего, имя типа Android_24412414)
  • <код> echo $HOSTNAME (shell / terminal / env hostname, скорее всего, ro.product.device from build.prop)
  • <код> cat /proc/sys/kernel/hostname (имя хоста linux, вероятно, localhost )
  • <код> head /etc/hosts (система хоста linux, вероятно, localhost )
  • <код> hostname (команда не всегда установлена, если установлена ​​через boange box, будет читать / proc / sys / jernel / hostname )

зависит от того, какую версию Android у вас есть.

Android 4.0 и выше

Новые версии будут использовать правильный <код> build.prop ввода. Ну, то есть, андоид читает <код> build.prop как нормальный процесс загрузки. После прогона службы подключения, она проверяет, устанавливается ли Net.hostName в настройках, то если пустое, то он использует идентификатор Android-android-android. Так что это все, что вам нужно сделать.

Добавить <код> net.hostname=HOSTNAMEHERE на <Код> /system/build.prop (root может понадобиться). Оставьте пустую строку в конце файла.

Android 2.3 и ниже

Старые версии, пряники, Froyo и т. Д., Просто клобить его. Это не беспокоит, чтобы проверить. Это установит net.hostName на Android_24412414 ... Неважно, что. Таким образом, вам нужно будет изменить его после того, как эта служба подключения закончила загрузку. К счастью, он только запускает запуск один раз, не на каждом новом соединении. Поэтому нам просто нужно запустить <код> echo $HOSTNAME0 после этого, чтобы придерживаться. К сожалению, он работает довольно поздно в процессе загрузки, поэтому вам нужно что-то, что сделает изменения на boot_complete. Скорее всего приложение, которое проходит сам по себе.

<a href = "https://android.googlesource.com/platform/frameworks/base.git/+/frameo-relase/services/java/com/android/server/Connectivityservice.java" Rel = "nOreferrer «> Соединение Froyoservice.java </a>: </p> <pre> <код> echo $HOSTNAME1 </код> </pre> <H3> Но тогда есть еще одна проблема. </H3> <p> <strong> net.hostname Настройка, не скопирована на всю систему! </strong> Если вы используете приложение консоли / терминала, вы можете не получить то же имя хоста. Мой телефон, Samsung Sidekick 4G (Semi-Galaxy S на основе) имеет init.rc, которая работает <код> echo $HOSTNAME2 </code>, поэтому все команды внизу не увидят либо ваше имя host.prop или имя хоста Android_id или имя! Так что вам нужно настроить это тоже. </P> <blockquote> <p> <Код> echo $HOSTNAME3 </код> или <Код> echo $HOSTNAME4 </код> </p> </blockquote> <P> <SILL> Примечание. В зависимости от того, как вы это делаете, вам нужно будет запустить вышеуказанную команду как root, чтобы его работать. Init.rc, как правило, находится в системном разделе только для чтения, поэтому root Access необходим для его редактирования. </Strong> </p> <p> Команда DHCPCD, которая запускается для получения адреса DHCP, не будет обновляться до имени хоста, предоставляемого сервером (который можно зафиксировать, добавив правильные DHCPCD-RUN-крюки и DHCPCD.conf), и это не будет Укажите имя хоста к серверу DHCP, если <Code> echo $HOSTNAME5 </Code> (команда hostname) пустой или localhost, и он не использует Net.hostname. <Сильные> libnetutils используется для вызова DHCPCD с -H «Net.Hostname», но если по какой-то причине он решает не звонить с -h, DHCPCD все еще отправит системное имя хоста через GetHostName (), если это не так? (Нет) "," localhost "или пустой. на складе Froyo в любом случае. Samsung облажала на каких-то на некоторых устройствах, таких как моя. Никакое имя хоста не проходит, принудительное время сетевого времени и т. Д.

Мое решение для пряников и ниже Samsung, отредактируйте конфигурацию DHCP-клиента DHCP:

Последнее, что вы можете сделать, это редактировать /etc/dhcpcd/dhcpcd.conf. Если вы добавите <код> echo $HOSTNAME6 в файл, он будет использовать это, если только имя хоста не приведено в командной строке. Это не исправит проблему Android_234ETC, но будет ли если имя хоста localhost (моя проблема, поскольку Samsung привинчивал libnetutils и localhost в init.rc). Вам понадобится root, но это работает через перезагрузку. Это не будет работать, если DHCPCD вызывается с опцией -H HostName.

 

Summary:

  • getprop net.hostname (Android System Hostname, likely android_24412414 type name)
  • echo $HOSTNAME (shell/terminal/env hostname, likely ro.product.device from build.prop)
  • cat /proc/sys/kernel/hostname (Linux System Hostname, likely localhost)
  • head /etc/hosts (Linux System Hostname, likely localhost)
  • hostname (Command not always installed, if installed via busy box, will read /proc/sys/kernel/hostname)

Depends on which version of Android you have.

Android 4.0 and Above

Newer versions will use the right build.prop entry. Well, that is to say, Android reads the build.prop as it's normal boot process. Once the Connectivity Service runs, it checks to see if net.hostname is set in the Settings, then if empty, then it uses the "android_" + (permanent) android ID. So that's all you need to do.

Add net.hostname=HOSTNAMEHERE to /system/build.prop (Root may be needed). Leave a blank line at the end of the file.

Kitkat's ConnectivityService.java, notice the IF isEmpty statement:

    // setup our unique device name     if (TextUtils.isEmpty(SystemProperties.get("net.hostname"))) {         String id = Settings.Secure.getString(context.getContentResolver(),                 Settings.Secure.ANDROID_ID);         if (id != null && id.length() > 0) {             String name = new String("android-").concat(id);             SystemProperties.set("net.hostname", name); 

Android 2.3 and Below

Older versions, Gingerbread, Froyo, etc, just clobber it. It doesn't bother to check. It will set net.hostname to android_24412414... no matter what. So you will need to change it after that Connectivity Service has finished loading. Luckily, it only runs the startup once, not on every new connection. So we just need to run setprop net.hostname HOSTNAMEHERE after that for it to stick. Unfortunately, it runs fairly late in the boot process, so you need something that will make the changes on boot_complete. Most likely an App that runs by itself.

Froyo's ConnectivityService.java:

    // setup our unique device name     String id = Settings.Secure.getString(context.getContentResolver(),             Settings.Secure.ANDROID_ID);     if (id != null && id.length() > 0) {         String name = new String("android_").concat(id);         SystemProperties.set("net.hostname", name); 

But then there is another issue.

The net.hostname setting, is not copied to the entire system! If you use a console/terminal application, you might not get the same hostname. My phone, a Samsung Sidekick 4G (semi-Galaxy S based) has an init.rc which runs hostname localhost, so all underneath commands will not see either your build.prop hostname or the android_id hostname! So you need to set that too.

hostname HOSTNAMEHERE or echo HOSTNAMEHERE > /proc/sys/kernel/hostname

Note: Depending on how you are doing it, you'll need to run the above command as root in order for it to work. Init.rc is typically on the read only system partition, so root access is needed to edit it.

The dhcpcd command, which is run to get a dhcp address, will not update to a hostname provided by the server (That can be fixed by adding the right dhcpcd-run-hooks and dhcpcd.conf), and it will not provide a hostname to the dhcp server if $(hostname) (The hostname command) is blank or localhost, and it does not internally use net.hostname. libnetutils is used for calling dhcpcd with -h "net.hostname", but if for some reason it decides not to call with -h, DHCPCD WILL STILL SEND THE SYSTEM HOSTNAME via gethostname(), as long as it's not "(none)", "localhost", or empty. On Stock Froyo anyway. Samsung screwed the pooch on some devices like mine. No hostname pass through, forced network time, etc.

My Solution for Gingerbread and below Samsung, Edit the DHCP Client Daemon config:

The last thing you can do is edit /etc/dhcpcd/dhcpcd.conf. If you add hostname YOURHOSTNAME to the file, it will use that, unless a hostname is given on the commandline. This won't fix the android_234etc issue, but will if the hostname is localhost (My problem, since Samsung screwed libnetutils and localhost in init.rc). You will need Root, but this works across reboots. This won't work if dhcpcd is called with -h Hostname option.

 
 
 
 
10
 
vote

Я нашел способ сделать это на моей рутированном Nexus 7 с 4.2.2. Настройка сохраняется настойчиво и работает по всему перезагрузкам.
Источник: http: //nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device

  1. Обратите внимание, что устройство должно быть укоренено для использования ADB
  2. запустить <код> adb pull /system/build.prop
  3. Отредактируйте <код> build.prop файл и добавить <код> net.hostname=NewHostname
  4. запустить <код> adb push build.prop /sdcard/build.prop (или <код> /mnt/sdcard , если он не удается)
  5. запустить <код> adb shell и выполнить следующие команды:
    <Код> $ su
    <Код> # mount -o rw,remount /system
    <Код> # cp /sdcard/build.prop /system/build.prop (или <код> /mnt/sdcard Если вы использовали это ранее)
    <Код> build.prop0
    <Код> build.prop1
  6. Перезагрузите устройство
 

I found a way to do this on my rooted Nexus 7 with 4.2.2. The setting is saved persistently and works throughout reboots.
Source: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device

  1. Note that the device must be rooted to use adb
  2. Run adb pull /system/build.prop
  3. Edit the build.prop file and append net.hostname=NewHostname
  4. Run adb push build.prop /sdcard/build.prop (or /mnt/sdcard, if it fails)
  5. Run adb shell and execute the following commands:
    $ su
    # mount -o rw,remount /system
    # cp /sdcard/build.prop /system/build.prop (or /mnt/sdcard if you used that previously)
    # mount -o ro,remount /system
    # exit
  6. Reboot the device
 
 
       
       
9
 
vote

Это работает на Cyanogenmod и, вероятно, другие модифицированные рома, но не стоковые aosp Roms:

Перейти к <сильные> настройки и GT; Параметры разработчика и прокрутите вниз до <сильного> устройства hostname . Root не нужен.

(нажмите изображение, чтобы увеличить)

IMG:« Высота = »350

 

This works on CyanogenMod and probably other modified ROMs but not stock AOSP ROMs:

Go to Settings > Developer Options and scroll down to Device Hostname. Root is not needed.

(Click image to enlarge)

IMG:

 
 
 
 
7
 
vote

У меня не пробежал запасы в течение длительного времени, а в настройках приложения и GT; Разработка Вы увидите вариант «Устройство HostName».

 

I have not ran stock in a long time but in Application Settings > Development you will see the option 'Device hostname'.

 
 
     
     
5
 
vote

Перейти в Google Play Store. Ищите «HostName» и загрузите HOSTNAME Changer App.

должен быть укоренен.

 

Go to Google Play Store. Search for "hostname", and download hostname changer app.

Must be rooted.

 
 
 
 
1
 
vote

Имя хоста используется для легкого идентификации и запоминающих хостов, подключенных к сети. Он установлен на загрузку, например Из <Код> /etc/hostname на Linux на основе систем. Имя хоста также является частью DHCPREQUEST (стандартизирована как код 12 по IETF), который клиент DHCP (устройство Android в нашем случае) делает DHCP-сервер (маршрутизатор WiFi), чтобы получить назначенный IP-адрес. DHCP-сервер хранит имена хостов, чтобы предложить услуги, такие как DNS. Смотрите подробности в Как пинговать локальный сетевой хост по хощему знаме? .

Android - вместо использования Linux kernel's Служба хоста - Используемая недвижимость <код> net.hostname (поскольку Android 2.2 и 4.0 ). В Android 6 <Код> net.hostname продолжал использовать ( 1 , 2 , 3 , 4 ) в новом Клиент Java DHCP при наживленном <код> 9 98877665 был заброшен и позже Сервис был удален в Android 7. С Android 8 - когда <Код> android_id стал уникальным в приложения - <Код> net.hostname is Нет больше набора , так null отправляется в <код> DHCPREQUEST . Смотрите Android 8 Изменения конфиденциальности и Улучшения безопасности :

<Код> DHCPREQUEST0 теперь пусты, и клиент DHCP больше не отправляет имя хоста

Так что маршрутизаторы Wi-Fi не показывают имена хостов для Android 8+, ни мы не можем установить / unset / изменить его.

Однако на укоретенных устройствах вы можете установить <код> DHCPREQUEST1 вручную, используя <код> DHCPREQUEST2 команды или добавить в некоторые <код> DHCPREQUEST3 <Код> DHCPREQUEST4 Файл для установки на каждую загрузку. Или используйте третий клиент, как <код> DHCPREQUEST5 для отправки желаемого имени хоста и других параметров на маршрутизатор. Смотрите Подключение к WiFi через adb shell .

 

Hostname is used to easily identify and remember hosts connected to a network. It's set on boot, e.g. from /etc/hostname on Linux based systems. Hostname is also a part of DHCPREQUEST (standardized as code 12 by IETF) which a DHCP client (Android device in our case) makes to DHCP server (WiFi router) to get an IP address assigned. DHCP server stores the hostnames to offer services like DNS. See details in How to ping a local network host by hostname?.

Android - instead of using Linux kernel's hostname service - used property net.hostname (since Android 2.2) to set a unique host name for every device which was based on android_id. This hostname property was used for DHCP handshake (as added in Android 2.2 and 4.0). In Android 6 net.hostname continued to be used (1, 2, 3, 4) in new Java DHCP client when native dhcpcd was abandoned and later service was removed in Android 7. Since Android 8 - when android_id became unique to apps - net.hostname is no more set, so a null is sent in DHCPREQUEST. See Android 8 Privacy Changes and Security Enhancements:

net.hostname is now empty and the dhcp client no longer sends a hostname

So the WiFi routers show no host names for Android 8+, neither we can set / unset / change it.

However on rooted devices you can set net.hostname manually using setprop command or add in some init's .rc file to set on every boot. Or use a third party client like busybox udhcpc to send desired hostname and other options to router. See Connecting to WiFi via ADB Shell.

 
 

Связанный проблема

61  Как мне изменить имя моего устройства Android?  ( How do i change the name of my android device ) 
Мое устройство Android - это Nexus One. Но это должно относиться ко всем текущим устройствам Android. Как изменить имя моего Android-устройства? Когда я...

3  Есть ли способ установить конфигурацию IP на основе в сетевой основе?  ( Is there a way to set the ip configuration on a per network basis ) 
Я подключаюсь к нескольким сетям Wi-Fi. На некоторых сетях я должен использовать статический IP-адрес. Большинство с конфигурациями DHCP без возможности испол...

0  DHCP / PXE / TFTP Server на Android? (8.x / 10)  ( Dhcp pxe tftp server on android 8 x 10 ) 
Для проекта, на котором я работаю, я хочу установить ISO на компьютер через PXE. Для этого мне нужна некоторая форма DHCP-сервера, а также сервер TFTP, работа...

3  Samsung Galaxy S - проблема получения IP-адреса. «Нак по запросу»  ( Samsung galaxy s problem obtaining ip address nak in request ) 
Я не могу получить IP-адрес моему смартфону Android с моего роутера WiFi. Наблюдения: Смартфон подключение к другим маршрутизаторам или через сотовые данн...

2  Сбросить кэш DHCP для Asus Memo Pad HD7 'избегал из-за плохого соединения  ( Reset dhcp cache for asus memo pad hd7 avoided due to poor connection ) 
Только на днях, мой планшет теперь отказывается подключаться к любому Wi-Fi. Я попробовал сброс как планшет, так и маршрутизатор безрезультатно. Оглядываясь...

1  Как поделиться соединением данных 4G через проводной Ethernet?  ( How to share a 4g data connection over wired ethernet ) 
Я понимаю, что Android в основном является клиентом Wired-Ethernet. I.e. Это просит и получает адрес DHCP. Интернет на другой стороне кабеля Ethernet. содер...

10  Как изменить конфигурацию DHCP?  ( How to change dhcp config ) 
Я пытаюсь получить доступ к ярусе IMS из клиента IMS в моем устройстве Android, однако мне нужно изменить клиент DHCP, чтобы добавить IP ядра в виде одного из...

2  Samsung Note 2 не назначает полученный IP  ( Samsung note 2 does not assign received ip ) 
Я пытаюсь подключить Samsung Note II (OS: Android 4.0, сэндвич мороженого) через Wi-Fi на сервер DHCP. DHCP-сервер (192.168.3.29) работает на виртуальной маши...

5  Как я могу получить устройства Android, чтобы увидеть бесцветный статический маршрут?  ( How can i get android devices to see a classless static route ) 
Это, кажется, проблема, что несколько человек имеют. У меня есть DHCP на сервере Windows 2008. Среди всех установленных вами параметров является вариант 121 (...

4  Android сохраняет журнал собственных IP-адресов?  ( Does android save a log of its own ip addresses ) 
У меня есть сеть WiFi, к которой я подключаюсь на работе. IP-адрес всегда был DHCP, но сегодня DHCP-сервер не работает. Если я смогу выяснить, какой IP-адрес ...

2  Проблема доступа к Интернету в 4.0 ICS  ( Problem accessing internet in 4 0 ics ) 
Для некоторой странной причины мой планшет Android 4.0 ICS больше не в состоянии получить доступ к Интернету. Во-первых, через WiFi он мог бы подключаться к д...

1  Настройка клиента DHCP на моей доске Android  ( Configuring dhcp client on my android board ) 
Я запускаю Android на моей доске разработки и хочу настроить DHCP-клиент на нем. Может кто-нибудь рассказать подробности о том, какие шаги следует соблюдать, ...

7  Сеть WiFi не доступна с модифицированным MAC-адресом  ( Wifi network not accessible with modified mac address ) 
Я недавно купил Nexus 7, чтобы использовать в качестве демонстрационного клиента для системы, которую я в настоящее время разрабатываю. В настоящее время сист...

10  Бесконечный «получение IP-адреса» петля  ( Endless obtaining ip address loop ) 
Возможные дубликаты: . https://android.stackexchange.com/questions/60139/ice-cream-sandwich-cant-obtain-ip-address-what-do-i-need-wi-delete-To-reset-wi ...

0  Общее соединение USB Android работает на сервере DHCP?  ( Does android usb shared connection runs a dhcp server ) 
Я в курсе USB-совместного подключения Android, и я использую его, чтобы дать подключение к моему компьютеру. Также у меня старый внутренний маршрутизатор, и...

1  Как сбросить статический IP-адрес обратно в DHCP для Ethernet  ( How to reset static ip address back to dhcp for ethernet ) 
У меня установить статический IP-адрес для <код> eth0 с командой ADB <код> ip addr add $ipAddress dev eth0 плюс другие команды для установки <код> netmask ,...

3  Изменить DNS, но оставайтесь на DHCP  ( Change dns but stay on dhcp ) 
У меня есть «Minix Neo X8-H Plus», работает Android 4.4 (KITKAT). Я хочу изменить серверы DNS на соединении WiFi, но для этого я получаю этот выбор, только ...

2  Как изменить диапазон IP-адреса Hotspot DHCP DHCP на Android?  ( How to change the default hotspot dhcp ip address range on android ) 
Как называется заголовок, я ищу способ постоянно изменить форму диапазона IP-адресов по умолчанию <код> 192.168.43.xxx на <Код> 192.168.1.xxx . Причина: на...

4  Сменить имя Android из "Android- ..." [Закрыто]  ( Change android name from android ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос нуждается в Детали или ясность . В настоящее...

2  Как мне изменить свой «идентификатор класса поставщика»?  ( How do i change my vendor class id ) 
«ID класса поставщика поставщика моего устройства» <код> dhcpcd-5.2.10:Linux-3.0.8-gb55e9ac:armv7l:herring . Я не знаю, каков идентификатор класса поставщика,...

15  Определение устройства Android по его имени хоста  ( Identifying an android device by its hostname ) 
Каждое устройство Android в нашей сети имеет имя хоста <код> android_[some-hex-number].domain.local . У меня есть одно устройство, которое запросило 10 IP-адр...

7  Droidwall и беспроводные привязки  ( Droidwall and wireless tethering ) 
У меня очень простая проблема: когда я запускаю <код> Wifi Tether на моей Galaxy S3, компьютер не получит IP-адрес, если я не отключаю <код> DroidWall бранд...

0  Не подключайтесь к публичным сетям Wi-Fi с Cyanogenmod  ( Fail to connect to public wifi networks with cyanogenmod ) 
Я изменил мою предварительную установленную ОС на Cyanogenmod 9 на мою Xperia Neo V, и с тех пор я не могу подключиться к любой общедоступной сети, которая тр...

1  Неправильно получение настроек DNS от AP при подключении к публичному WiFi  ( Incorrectly receiving dns settings from ap when connecting to public wifi ) 
Мне пришлось летать недавно. Полет в полете в полете в поле «Развлечения в полете» через Gogoinflight, но я не мог получить доступ к нему на моем телефоне, по...

1  WiFi Hotspot DNSMASQ Нет DHCP ACK  ( Wifi hotspot dnsmasq no dhcp ack ) 
Я создаю точку доступа WiFi с Hostapd и предоставив DHCP / DNS через DNSMAMSQ на устройстве Android 5.0.1. Когда клиент подключается к точке доступа WiFi, она...

Связанный проблема

61  Как мне изменить имя моего устройства Android? 
3  Есть ли способ установить конфигурацию IP на основе в сетевой основе? 
0  DHCP / PXE / TFTP Server на Android? (8.x / 10) 
3  Samsung Galaxy S - проблема получения IP-адреса. «Нак по запросу» 
2  Сбросить кэш DHCP для Asus Memo Pad HD7 'избегал из-за плохого соединения 
1  Как поделиться соединением данных 4G через проводной Ethernet? 
10  Как изменить конфигурацию DHCP? 
2  Samsung Note 2 не назначает полученный IP 
5  Как я могу получить устройства Android, чтобы увидеть бесцветный статический маршрут? 
4  Android сохраняет журнал собственных IP-адресов? 
2  Проблема доступа к Интернету в 4.0 ICS 
1  Настройка клиента DHCP на моей доске Android 
7  Сеть WiFi не доступна с модифицированным MAC-адресом 
10  Бесконечный «получение IP-адреса» петля 
0  Общее соединение USB Android работает на сервере DHCP? 
1  Как сбросить статический IP-адрес обратно в DHCP для Ethernet 
3  Изменить DNS, но оставайтесь на DHCP 
2  Как изменить диапазон IP-адреса Hotspot DHCP DHCP на Android? 
4  Сменить имя Android из "Android- ..." [Закрыто] 
2  Как мне изменить свой «идентификатор класса поставщика»? 
15  Определение устройства Android по его имени хоста 
7  Droidwall и беспроводные привязки 
0  Не подключайтесь к публичным сетям Wi-Fi с Cyanogenmod 
1  Неправильно получение настроек DNS от AP при подключении к публичному WiFi 
1  WiFi Hotspot DNSMASQ Нет DHCP ACK