Moje urządzenie z Androidem to Nexus One. Powinno to jednak dotyczyć wszystkich obecnych urządzeń z Androidem.
Jak zmienić nazwę mojego urządzenia z Androidem?
Kiedy łączę się z tabelami klientów routera bezprzewodowego, moje urządzenia z Androidem są wymienione na przykład jako: android_1234567890abedfc. Chciałbym nadać mu bardziej czytelną nazwę.
Odpowiedzi:
Aby zmienić nazwę hosta (nazwę urządzenia), musisz użyć terminala (jako root):
W przypadku Eclair (2.1): echo MYNAME> / proc / sys / kernel / hostname
Dla Froyo (2.2): (działa również na większości 2.3) setprop net.hostname MYNAME
Następnie uruchom ponownie wi-fi. Aby zobaczyć zmianę, wpisz uname -a
niektóre urządzenia wymagają ponownego uruchomienia do pracy!
źródło
uname -a
nie pokazuje mi nazwy hosta, choć tak mówilocalhost
. czego się spodziewasz?Podsumowanie:
getprop net.hostname
(Nazwa hosta systemu Android, prawdopodobnie nazwa typu android_24412414)echo $HOSTNAME
(nazwa hosta powłoki / terminala / env, prawdopodobnie ro.product.device z build.prop)cat /proc/sys/kernel/hostname
(Nazwa hosta systemu Linux, prawdopodobnie localhost )head /etc/hosts
(Nazwa hosta systemu Linux, prawdopodobnie localhost )hostname
(Polecenie nie zawsze instalowane, jeśli jest instalowane przez zajętą skrzynkę, odczyta / proc / sys / kernel / hostname )Zależy od posiadanej wersji Androida.
Android 4.0 i nowszy
Nowsze wersje będą używać właściwego
build.prop
wpisu. To znaczy, że Android odczytujebuild.prop
normalny proces uruchamiania. Po uruchomieniu usługi łączności sprawdza, czy w ustawieniach ustawiony jest net.hostname, a następnie, jeśli jest pusty, używa identyfikatora „android_” + (stały) android. To wszystko, co musisz zrobić.Dodaj
net.hostname=HOSTNAMEHERE
do/system/build.prop
(może być konieczne rootowanie). Pozostaw pustą linię na końcu pliku.Kitkat's ConnectivityService.java, zwróć uwagę na instrukcję IF isEmpty :
Android 2.3 i nowsze wersje
Starsze wersje, Gingerbread, Froyo itp., Po prostu go kasują. Sprawdzanie nie przeszkadza. Ustawi nazwę net.hostname na android_24412414 ... bez względu na wszystko. Musisz go zmienić po zakończeniu ładowania usługi łączności. Na szczęście uruchamia start tylko raz, a nie przy każdym nowym połączeniu. Musimy więc
setprop net.hostname HOSTNAMEHERE
po tym pobiec , żeby się przylgnął. Niestety, działa dość późno w trakcie uruchamiania, więc potrzebujesz czegoś, co wprowadzi zmiany w boot_complete. Najprawdopodobniej aplikacja działa sama.Froyo's ConnectivityService.java :
Ale jest jeszcze jeden problem.
Ustawienie net.hostname nie jest kopiowane do całego systemu! Jeśli używasz aplikacji konsoli / terminala, możesz nie otrzymać tej samej nazwy hosta. Mój telefon, Samsung Sidekick 4G (oparty częściowo na Galaxy S), ma plik init.rc, który działa
hostname localhost
, więc wszystkie poniższe polecenia nie będą widzieć ani nazwy hosta build.prop ani nazwy hosta android_id! Więc musisz to również ustawić.Uwaga: w zależności od tego, jak to robisz, musisz uruchomić powyższe polecenie jako root, aby działało. Plik Init.rc znajduje się zwykle na partycji systemowej tylko do odczytu, więc do jego edycji potrzebny jest dostęp do konta root.
Polecenie dhcpcd, które jest uruchamiane w celu uzyskania adresu dhcp, nie zostanie zaktualizowane do nazwy hosta podanej przez serwer (można to naprawić, dodając odpowiednie dhcpcd-run-hooks i dhcpcd.conf) i nie poda nazwy hosta do serwera dhcp, jeśli
$(hostname)
(polecenie hostname) jest puste lub localhost i nie używa wewnętrznie net.hostname. libnetutils służy do wywoływania dhcpcd przy pomocy -h „net.hostname”, ale jeśli z jakiegoś powodu zdecyduje się nie wywoływać przy pomocy -h, DHCPCD BĘDZIE WYSYŁAĆ NAZWĘ HOSTA SYSTEMOWĄ poprzez gethostname (), o ile nie jest to „(brak) ”,„ localhost ”lub pusty. W każdym razie na magazynie Froyo. Samsung przykręcił kundla do niektórych urządzeń, takich jak moje. Nie przechodzi nazwa hosta, wymuszony czas sieci itp.Moje rozwiązanie dla Gingerbread i poniżej Samsunga Edytuj konfigurację demona klienta DHCP:
Ostatnią rzeczą, którą możesz zrobić, jest edycja /etc/dhcpcd/dhcpcd.conf. Jeśli dodasz
hostname YOURHOSTNAME
do pliku, użyje go, chyba że w wierszu poleceń podano nazwę hosta. To nie rozwiąże problemu android_234etc, ale zrobi to, jeśli nazwa hosta to localhost (Mój problem, ponieważ Samsung wkręcił libnetutils i localhost w init.rc). Będziesz potrzebował rootowania, ale działa to przy restartach. To nie zadziała, jeśli dhcpcd zostanie wywołany z opcją -h Nazwa hosta.źródło
Znalazłem sposób, aby to zrobić na moim zrootowanym Nexusie 7 z 4.2.2. Ustawienie jest zapisywane na stałe i działa podczas ponownego uruchamiania.
Źródło: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device
źródło
setprop
polecenia za pomocą powłoki root na urządzeniu: na przykładsetprop net.hostname NewHostName
Działa to na CyanogenMod i prawdopodobnie na innych zmodyfikowanych ROMach, ale nie ma zapasów ROM AOSP:
Przejdź do Ustawienia> Opcje programisty i przewiń w dół do Nazwa hosta urządzenia . Korzeń nie jest potrzebny.
(Kliknij obraz, aby powiększyć)
źródło
Dawno nie prowadziłem magazynu, ale w Ustawieniach aplikacji> Programowanie zobaczysz opcję „Nazwa hosta urządzenia”.
źródło
Przejdź do sklepu Google Play. Wyszukaj „nazwa hosta” i pobierz aplikację do zmiany nazwy hosta .
Musi być zrootowany.
źródło
Nazwa hosta służy do łatwej identyfikacji i zapamiętywania hostów podłączonych do sieci. Jest uruchamiany podczas rozruchu, np. Z
/etc/hostname
systemów Linux. Nazwa hosta jest również częściąDHCPREQUEST
(znormalizowaną jako kod 12 przez IETF), którą klient DHCP (w naszym przypadku urządzenie z Androidem) wykonuje na serwerze DHCP (router WiFi) w celu przypisania adresu IP. Serwer DHCP przechowuje nazwy hostów, aby oferować usługi takie jak DNS .Android - zamiast korzystać z usługi nazw hostów jądra Linuksa - używał właściwości
net.hostname
do ustawiania unikalnej nazwy hosta dla każdego urządzenia, która była oparta na ID Androida. Ta właściwość nazwy hosta była również używana do uzgadniania DHCP. Jednak od Androida 5 - gdy rodzimydhcpcd
został porzucony na rzecz klienta Java DHCP - nazwa hosta jest zerowy wDHCPREQUEST
. nienet.hostname
jest ustawiany ani oceniany przez klienta DHCP. Dlatego routery WiFi nie wyświetlają nazw hostów dla nowszych urządzeń z Androidem, ani nie możemy ich ustawić / rozbroić / zmienić.źródło