Mein Android-Gerät ist das Nexus One. Dies sollte jedoch für alle aktuellen Android-Geräte gelten.
Wie ändere ich den Namen meines Android-Geräts?
Wenn ich eine Verbindung zu den Client-Tabellen meines WLAN-Routers herstelle, werden meine Android-Geräte beispielsweise wie folgt aufgelistet: android_1234567890abedfc. Ich möchte einen besser lesbaren Namen vergeben.
Antworten:
Um den Hostnamen (Gerätenamen) zu ändern, müssen Sie das Terminal (als root) verwenden:
Für Eclair (2.1): Echo MYNAME> / proc / sys / kernel / hostname
Für Froyo (2.2): (funktioniert auch bei den meisten 2.3) setprop net.hostname MYNAME
Starten Sie dann Ihr Wi-Fi neu. Geben Sie uname -a ein, um die Änderung anzuzeigen
Einige Geräte müssen für die Arbeit neu gestartet werden!
quelle
uname -a
zeigt den Hostnamen für mich nicht an, obwohl er besagtlocalhost
. Was erwartest du davon?Zusammenfassung:
getprop net.hostname
(Android-System-Hostname, wahrscheinlich android_24412414 Typname)echo $HOSTNAME
(shell / terminal / env hostname, wahrscheinlich ro.product.device von build.prop)cat /proc/sys/kernel/hostname
(Linux System Hostname, wahrscheinlich localhost )head /etc/hosts
(Linux System Hostname, wahrscheinlich localhost )hostname
(Kommando nicht immer installiert, wenn über Busy Box installiert, lautet / proc / sys / kernel / hostname )Hängt davon ab, welche Android-Version Sie haben.
Android 4.0 und höher
Neuere Versionen verwenden den richtigen
build.prop
Eintrag. Das heißt, Android liest denbuild.prop
Vorgang wie gewohnt. Sobald der Konnektivitätsdienst ausgeführt wird, wird überprüft, ob net.hostname in den Einstellungen festgelegt ist. Wenn leer, wird die Android-ID "android_" + (permanent) verwendet. Das ist alles, was Sie tun müssen.Hinzufügen
net.hostname=HOSTNAMEHERE
zu/system/build.prop
(Root wird möglicherweise benötigt). Lassen Sie am Ende der Datei eine leere Zeile.Beachten Sie in Kitkats ConnectivityService.java die IF isEmpty-Anweisung :
Android 2.3 und niedriger
Ältere Versionen, Gingerbread, Froyo usw., machen einfach Spaß. Es stört nicht zu überprüfen. Es wird net.hostname auf android_24412414 gesetzt ... egal was passiert. Sie müssen es also ändern, nachdem der Connectivity Service vollständig geladen wurde. Zum Glück wird der Start nur einmal ausgeführt, nicht bei jeder neuen Verbindung. Also müssen wir einfach nachlaufen
setprop net.hostname HOSTNAMEHERE
, damit es bleibt. Leider läuft es ziemlich spät im Bootprozess, so dass Sie etwas brauchen, das die Änderungen an boot_complete vornimmt. Höchstwahrscheinlich eine App, die von selbst läuft.ConnectivityService.java von Froyo :
Aber dann gibt es noch ein anderes Problem.
Die Einstellung net.hostname wird nicht auf das gesamte System kopiert! Wenn Sie eine Konsolen- / Terminalanwendung verwenden, erhalten Sie möglicherweise nicht denselben Hostnamen. Mein Handy, ein Samsung Sidekick 4G (Semi-Galaxy S-basiert), hat eine init.rc, die ausgeführt wird
hostname localhost
, sodass unter allen Befehlen weder Ihr build.prop-Hostname noch der Hostname von android_id angezeigt werden! Also musst du das auch einstellen.Hinweis: Je nachdem, wie Sie es tun, müssen Sie den obigen Befehl als root ausführen, damit es funktioniert. Init.rc befindet sich normalerweise auf der schreibgeschützten Systempartition, sodass zum Bearbeiten Root-Zugriff erforderlich ist.
Der Befehl dhcpcd, der ausgeführt wird, um eine DHCP-Adresse abzurufen, wird nicht auf einen vom Server bereitgestellten Hostnamen aktualisiert (Dies kann durch Hinzufügen der richtigen dhcpcd-run-hooks und dhcpcd.conf behoben werden), und es wird kein Hostname bereitgestellt an den DHCP-Server senden, wenn
$(hostname)
(der Befehl hostname) leer oder localhost ist und intern nicht net.hostname verwendet wird. libnetutils wird zum Aufrufen von dhcpcd mit -h "net.hostname" verwendet. Wenn jedoch aus irgendeinem Grund entschieden wird, nicht mit -h aufzurufen, sendet DHCPCD den SYSTEM-HOSTNAME weiterhin über gethostname (), sofern er nicht "(none)" ist. "," localhost "oder leer. Auf jeden Fall auf Lager Froyo. Samsung hat das Hündchen bei einigen Geräten wie meinem versaut. Es werden keine Hostnamen durchgelassen, keine Netzwerkzeit erzwungen usw.Meine Lösung für Gingerbread und darunter: Bearbeiten Sie die DHCP-Client-Daemon-Konfiguration:
Als letztes können Sie die Datei /etc/dhcpcd/dhcpcd.conf bearbeiten. Wenn Sie
hostname YOURHOSTNAME
der Datei hinzufügen , wird diese verwendet, sofern in der Befehlszeile kein Hostname angegeben ist. Dies wird das android_234etc-Problem nicht beheben, aber wenn der Hostname localhost ist (Mein Problem, da Samsung libnetutils und localhost in init.rc geschraubt hat). Sie benötigen Root, dies funktioniert jedoch über Neustarts hinweg. Dies funktioniert nicht, wenn dhcpcd mit der Option -h Hostname aufgerufen wird.quelle
Ich habe einen Weg gefunden, dies auf meinem verwurzelten Nexus 7 mit 4.2.2 zu tun. Die Einstellung wird dauerhaft gespeichert und funktioniert bei allen Neustarts.
Quelle: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device
quelle
setprop
Befehl über eine Root - Shell auf dem Gerät: zum Beispielsetprop net.hostname NewHostName
Dies funktioniert mit CyanogenMod und wahrscheinlich anderen modifizierten ROMs, aber nicht mit AOSP-ROMs:
Gehen Sie zu Einstellungen> Entwickleroptionen und scrollen Sie nach unten zu Geräte-Hostname . Root wird nicht benötigt.
(Zum Vergrößern auf das Bild klicken)
quelle
Ich habe lange keinen Bestand mehr, aber unter Anwendungseinstellungen> Entwicklung wird die Option 'Geräte-Hostname' angezeigt.
quelle
Gehen Sie zum Google Play Store. Suchen Sie nach "Hostname" und laden Sie die App zum Ändern des Hostnamens herunter .
Muss verwurzelt sein.
quelle
Mit dem Hostnamen können Hosts, die mit einem Netzwerk verbunden sind, leicht identifiziert und gespeichert werden. Es wird beim Booten eingestellt, zB von
/etc/hostname
Linux-basierten Systemen. Der Hostname ist auch ein Teil vonDHCPREQUEST
( von IETF als Code 12 standardisiert), den ein DHCP-Client (in unserem Fall Android-Gerät) an den DHCP-Server (WLAN-Router) sendet, um eine IP-Adresse zuzuweisen. Der DHCP-Server speichert die Hostnamen, um Dienste wie DNS anzubieten .Anstatt den Hostnamen-Dienst des Linux-Kernels zu verwenden, hat Android die Eigenschaft verwendet
net.hostname
, um einen eindeutigen Hostnamen für jedes Gerät festzulegen, der auf der Android-ID basiert. Diese Hostname-Eigenschaft wurde auch für den DHCP-Handshake verwendet. Da jedoch Android 5 - , wenn das nativedhcpcd
für Java DHCP - Client aufgegeben wurde - Hostname ist null inDHCPREQUEST
.net.hostname
wird vom DHCP-Client weder gesetzt noch ausgewertet. Die WLAN-Router zeigen also keine Hostnamen für neuere Android-Geräte an, und wir können sie auch nicht einstellen / deaktivieren / ändern.quelle