Моим устройством Android является Nexus One. Но это должно относиться ко всем текущим устройствам Android.
Как мне изменить имя моего устройства Android?
Когда я подключаюсь к клиентским таблицам беспроводного маршрутизатора, мои устройства Android отображаются, например, как: android_1234567890abedfc. Я хотел бы дать ему более читаемое имя.
Ответы:
Чтобы изменить имя хоста (имя устройства), вы должны использовать терминал (как root):
Для Eclair (2.1): echo MYNAME> / proc / sys / kernel / hostname
Для Froyo (2.2): (работает также на большинстве 2.3) setprop net.hostname MYNAME
Затем перезапустите свой Wi-Fi. Чтобы увидеть изменения, наберите uname -a
некоторые устройства требуют перезагрузки для работы!
источник
uname -a
не показывает имя хоста для меня, хотя и говоритlocalhost
. что вы ожидаете показать?Резюме:
getprop net.hostname
(Имя хоста системы Android, скорее всего, имя типа android_24412414)echo $HOSTNAME
(имя хоста shell / terminal / env, скорее всего ro.product.device из build.prop)cat /proc/sys/kernel/hostname
(Имя хоста системы Linux, скорее всего localhost )head /etc/hosts
(Имя хоста системы Linux, скорее всего localhost )hostname
(Команда не всегда устанавливается, если она установлена через окно занятости, будет читать / proc / sys / kernel / hostname )Зависит от того, какая у вас версия Android.
Android 4.0 и выше
Более новые версии будут использовать правильную
build.prop
запись. Ну, то есть Android читаетbuild.prop
как нормальный процесс загрузки. После запуска службы подключений она проверяет, задано ли в Настройках имя net.hostname, затем, если оно пустое, используется идентификатор android_ + (постоянный). Так что это все, что вам нужно сделать.Добавить
net.hostname=HOSTNAMEHERE
в/system/build.prop
(Root может понадобиться). Оставьте пустую строку в конце файла.Подключите Kitkat ConnectivityService.java, обратите внимание на оператор IF isEmpty :
Android 2.3 и ниже
Старые версии, Gingerbread, Froyo и т. Д., Просто заткните его. Не стоит проверять. Для net.hostname будет установлено значение android_24412414 ... несмотря ни на что. Поэтому вам нужно будет изменить его после того, как служба подключений закончит загрузку. К счастью, он запускает запуск только один раз, а не при каждом новом подключении. Так что нам просто нужно бежать
setprop net.hostname HOSTNAMEHERE
за этим, чтобы он придерживался. К сожалению, он запускается довольно поздно в процессе загрузки, поэтому вам нужно что-то, что внесет изменения в boot_complete. Скорее всего, приложение, которое запускается само по себе.Froyo's ConnectivityService.java :
Но тогда есть другая проблема.
Параметр net.hostname не копируется во всю систему! Если вы используете консольное / терминальное приложение, вы можете не получить одно и то же имя хоста. Мой телефон, Samsung Sidekick 4G (на базе полу-Galaxy S), имеет init.rc, который запускается
hostname localhost
, поэтому все команды, указанные ниже, не увидят ни ваше имя узла build.prop, ни имя узла android_id! Таким образом, вы должны установить это тоже.Примечание. В зависимости от того, как вы это делаете, вам нужно будет выполнить приведенную выше команду от имени пользователя root, чтобы она заработала. Init.rc обычно находится в системном разделе «только для чтения», поэтому для его редактирования необходим root-доступ.
Команда dhcpcd, запускаемая для получения адреса dhcp, не будет обновляться до имени хоста, предоставленного сервером (это можно исправить, добавив правильные dhcpcd-run-hooks и dhcpcd.conf), и не предоставит имя хоста к серверу dhcp, если
$(hostname)
(команда hostname) пуста или локальна, и она внутренне не использует net.hostname. libnetutils используется для вызова dhcpcd с -h "net.hostname", но если по какой-то причине он решит не вызывать с -h, DHCPCD ПОСТОЯННО ОТПРАВИТ СИСТЕМНОЕ ХОСТАЙМ через gethostname (), если это не так (нет) "," localhost "или пусто. На складе Froyo все равно. Самсунг прикрутил дворняжку на некоторых устройствах вроде моего. Нет имени хоста, принудительное сетевое время и т. Д.Мое решение для Gingerbread и ниже Samsung, отредактируйте конфигурацию DHCP-клиента-демона:
Последнее, что вы можете сделать, это отредактировать /etc/dhcpcd/dhcpcd.conf. Если вы добавите
hostname YOURHOSTNAME
в файл, он будет использовать его, если в командной строке не указано имя хоста. Это не решит проблему android_234etc, но будет, если имя хоста - localhost (Моя проблема, поскольку Samsung ввел libnetutils и localhost в init.rc). Вам понадобится Root, но это работает через перезагрузки. Это не будет работать, если dhcpcd вызывается с опцией -h Hostname.источник
Я нашел способ сделать это на моем рутированном Nexus 7 с 4.2.2. Настройка сохраняется постоянно и работает во время перезагрузки.
Источник: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device
источник
setprop
команду через корневую оболочку на устройстве: например,setprop net.hostname NewHostName
Это работает на CyanogenMod и, возможно, на других модифицированных ПЗУ, но не на стандартных AOSP:
Перейдите в « Настройки»> «Параметры разработчика» и прокрутите вниз до « Имя хоста устройства» . Рут не нужен.
(Нажмите на изображение, чтобы увеличить)
источник
Я не запускал акции в течение длительного времени, но в разделе «Настройки приложения»> «Разработка» вы увидите опцию «Имя хоста устройства».
источник
Зайдите в Google Play Store. Найдите "hostname" и загрузите приложение смены имени хоста .
Должен быть укоренен.
источник
Имя хоста используется для простой идентификации и запоминания хостов, подключенных к сети. Он устанавливается при загрузке, например, из
/etc/hostname
систем на основе Linux. Имя хоста также является частьюDHCPREQUEST
(стандартизированной как IETF как код 12 ), которую DHCP-клиент (в нашем случае устройство Android) делает с DHCP-сервером (WiFi-маршрутизатор), чтобы получить назначенный IP-адрес. DHCP-сервер хранит имена хостов для предоставления таких услуг, как DNS .Android - вместо использования службы имени хоста ядра Linux - использовал свойство,
net.hostname
чтобы установить уникальное имя хоста для каждого устройства на основе идентификатора Android. Это свойство имени хоста также использовалось для рукопожатия DHCP. Однако , так как Android 5 - когда роднойdhcpcd
был оставлен в пользу Java DHCP клиента - имя хоста нуль вDHCPREQUEST
.net.hostname
не ни установить , ни оценивали DHCP клиента. Таким образом, маршрутизаторы WiFi не показывают имена хостов для новых устройств Android, и мы не можем установить / отменить / изменить его.источник