Mon appareil Android est le Nexus One. Mais cela devrait s'appliquer à tous les appareils Android actuels.
Comment changer le nom de mon appareil Android?
Lorsque je me connecte aux tables des clients de mon routeur sans fil, mes appareils Android sont répertoriés, par exemple, sous le nom: android_1234567890abedfc. J'aimerais lui donner un nom plus lisible.
Réponses:
Pour changer le nom d'hôte (nom de l'appareil), vous devez utiliser le terminal (en tant que root):
Pour Eclair (2.1): echo MYNAME> / proc / sys / kernel / hostname
Pour Froyo (2.2): (fonctionne également sur la plupart des versions 2.3) setprop net.hostname MYNAME
Puis redémarrez votre connexion wi-fi. Pour voir le changement, tapez uname -a
certains périphériques doivent être redémarrés pour le travail!
la source
uname -a
ne montre pas le nom d'hôte pour moi, bien que ce soit le caslocalhost
. Qu'attendez-vous que cela montre?Sommaire:
getprop net.hostname
(Nom d'hôte du système Android, nom de type android_24412414 probable)echo $HOSTNAME
(nom d'hôte shell / terminal / env, probablement ro.product.device de build.prop)cat /proc/sys/kernel/hostname
(Nom d'hôte du système Linux, probablement localhost )head /etc/hosts
(Nom d'hôte du système Linux, probablement localhost )hostname
(La commande pas toujours installée, si installée via une boîte occupé, lira / proc / sys / kernel / hostname )Cela dépend de la version d'Android que vous possédez.
Android 4.0 et supérieur
Les nouvelles versions utiliseront la bonne
build.prop
entrée. Eh bien, c’est-à-dire qu’Android lit lebuild.prop
processus de démarrage normal. Une fois le service de connectivité exécuté, il vérifie si net.hostname est défini dans les paramètres. S'il est vide, il utilise ensuite l'ID android_ "+" (permanent). Donc c'est tout ce que vous devez faire.Ajouter
net.hostname=HOSTNAMEHERE
à/system/build.prop
(une racine peut être nécessaire). Laissez une ligne vide à la fin du fichier.Kitkat ConnectivityService.java, notez la déclaration IF isEmpty :
Android 2.3 et inférieur
Les versions plus anciennes, Gingerbread, Froyo, etc. Ça ne dérange pas de vérifier. Il va définir net.hostname sur android_24412414 ... peu importe quoi. Vous devrez donc le changer une fois le chargement du service de connectivité terminé. Heureusement, il ne lance le démarrage qu'une seule fois, pas à chaque nouvelle connexion. Il faut donc courir
setprop net.hostname HOSTNAMEHERE
après pour que ça colle. Malheureusement, le processus de démarrage s'exécute assez tard. Vous avez donc besoin de quelque chose qui modifiera boot_complete. Très probablement une application qui fonctionne par elle-même.ConnectivityService.java de Froyo :
Mais alors il y a un autre problème.
Le paramètre net.hostname n'est pas copié dans tout le système! Si vous utilisez une application console / terminal, vous n'obtiendrez peut-être pas le même nom d'hôte. Mon téléphone, un Samsung Sidekick 4G (semi-Galaxy S), a un init.rc qui s'exécute
hostname localhost
. Toutes les commandes situées en dessous ne verront ni votre nom d’hôte build.prop ni le nom d’hôte android_id! Donc, vous devez définir cela aussi.Remarque: pour que cela fonctionne, vous devez exécuter la commande ci-dessus en tant qu'utilisateur root pour que cela fonctionne. Init.rc se trouve généralement sur la partition système en lecture seule; un accès root est donc nécessaire pour la modifier.
La commande dhcpcd, qui est exécutée pour obtenir une adresse dhcp, ne sera pas mise à jour avec un nom d’hôte fourni par le serveur (cela peut être corrigé en ajoutant les bons droits dhcpcd-run-hooks et dhcpcd.conf), et elle ne fournira pas de nom d’hôte. au serveur DHCP si
$(hostname)
(la commande hostname) est vide ou localhost et n'utilise pas en interne net.hostname. libnetutils est utilisé pour appeler dhcpcd avec -h "net.hostname", mais si, pour une raison quelconque, il décide de ne pas appeler avec -h, DHCPCD ENVOIE ENCORE DU NOM D'HÔTE DU SYSTÈME via gethostname (), tant que ce n'est pas "(none) "," localhost "ou vide. Sur Stock Froyo quand même. Samsung a vissé le chien sur certains appareils comme le mien. Aucun nom d’hôte ne passe, temps réseau forcé, etc.Ma solution pour Gingerbread et au-dessous de Samsung, modifiez la configuration du démon du client DHCP:
La dernière chose que vous pouvez faire est d’éditer /etc/dhcpcd/dhcpcd.conf. Si vous ajoutez
hostname YOURHOSTNAME
au fichier, il l'utilisera, sauf si un nom d'hôte est indiqué sur la ligne de commande. Cela ne résoudra pas le problème d'Android_234etc, mais le sera si le nom d'hôte est localhost (mon problème, car Samsung a vissé libnetutils et localhost dans init.rc). Vous aurez besoin de Root, mais cela fonctionne après les redémarrages. Cela ne fonctionnera pas si dhcpcd est appelé avec l'option -h Nom_Hôte.la source
J'ai trouvé un moyen de faire cela sur mon Nexus 7 enraciné avec 4.2.2. Le paramètre est enregistré de manière persistante et fonctionne tout au long des redémarrages.
Source: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device
la source
setprop
commande via un shell root sur le périphérique: par exemplesetprop net.hostname NewHostName
Cela fonctionne sur CyanogenMod et probablement d'autres ROM modifiées, mais pas les ROM AOSP en stock:
Accédez à Paramètres> Options pour les développeurs et faites défiler jusqu'à Nom d'hôte du périphérique . La racine n'est pas nécessaire.
(Cliquez sur l'image pour l'agrandir)
la source
Je n'ai pas vu de stock depuis longtemps, mais dans Paramètres de l'application> Développement, l'option 'Nom d'hôte du périphérique' apparaît.
la source
Allez sur Google Play Store. Recherchez "nom d'hôte" et téléchargez l' application de changement de nom d'hôte .
Doit être enracinée.
la source
Le nom d'hôte est utilisé pour identifier et mémoriser facilement les hôtes connectés à un réseau. Il est défini au démarrage, par exemple à partir
/etc/hostname
de systèmes basés sur Linux. Le nom d'hôte fait également partieDHCPREQUEST
(normalisé sous le code 12 par l'IETF) qu'un client DHCP (appareil Android dans notre cas) envoie au serveur DHCP (routeur WiFi) pour obtenir une adresse IP attribuée. Le serveur DHCP stocke les noms d'hôte pour offrir des services tels que DNS .Android - au lieu d'utiliser le service de nom d' hôte du noyau Linux - propriété utilisée
net.hostname
pour définir un nom d'hôte unique pour chaque périphérique basé sur Android ID. Cette propriété de nom d’hôte a également été utilisée pour la négociation DHCP. Cependant, depuis Android 5 - lorsque le fichier natif adhcpcd
été abandonné au profit du client DHCP Java - le nom d’hôte est null dansDHCPREQUEST
.net.hostname
n'est ni défini , ni évalué par le client DHCP. Ainsi, les routeurs WiFi n’affichent aucun nom d’hôte pour les nouveaux appareils Android, nous ne pouvons pas non plus l’activer / désactiver / le changer.la source