Como faço para alterar o nome do meu dispositivo Android? -- settings campo com dhcp camp android Relacionado O problema

How do I change the name of my Android device?


61
vote

problema

português

Meu dispositivo Android é o nexo. Mas isso deve se aplicar a todos os dispositivos Android atuais.

Como faço para alterar o nome do meu dispositivo Android?

Quando eu me conecto às tabelas de clientes do meu roteador sem fio, meus dispositivos Android estão listados, por exemplo, como: android_1234567890ABEDFC. Eu gostaria de dar um nome mais legível.

Inglês Original

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.

     
     
     

Lista de respostas

22
 
vote

Para alterar o nome do host (nome do dispositivo), você deve usar o terminal (como root):

para Eclair (2.1): echo myname & gt; / proc / sys / kernel / hostname

para Froyo (2.2): (funciona também na maioria dos 2.3) setprop net.hostname myname

Então reinicie o seu Wi-Fi. Para ver a mudança, digite uname -a

Alguns dispositivos precisam reiniciar para o trabalho!

 

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

Resumo:

  • getprop net.hostname (nome do host do sistema Android, provável Android_24412414 Nome do tipo)
  • echo $HOSTNAME (nome do host do shell / terminal / env, provavelmente ro.produto.device do build.prop)
  • cat /proc/sys/kernel/hostname (host do sistema Linux, provavelmente localhost )
  • head /etc/hosts (host do sistema Linux, provavelmente localhost )
  • hostname (comando nem sempre instalado, se instalado via caixa ocupada, lerá / sys / kernel / hostname )

depende de qual versão do Android você tem.

Android 4.0 e acima

As versões mais recentes usarão o direito ABCDEFGHIJKLMNABCDEFGHIJKLMN5 Entrada. Bem, isto é, o Android lê o build.prop como é o processo de inicialização normal. Uma vez que o serviço de conectividade é executado, ele verifica se net.hostname é definido nas configurações, então, se vazio, então ele usa o ID do Android "Android_" + (permanente). Então é tudo que você precisa fazer.

Adicionar net.hostname=HOSTNAMEHERE para /system/build.prop (root pode ser necessário). Deixe uma linha em branco no final do arquivo.

Conectividade de KitkatService.java, observe a declaração ISEMPTY :

      // 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 e abaixo

versões mais antigas, gengibre, froyo, etc, apenas clobber. Não se preocupa em verificar. Ele definirá net.hostname para Android_24412414 ... não importa o quê. Então você precisará alterá-lo depois que o serviço de conectividade terminar de carregar. Felizmente, ele executa apenas a inicialização uma vez, não em todas as novas conexões. Portanto, só precisamos executar ABCDEFGHIJKLMNABCDEFGHIJKLMN10 depois disso para ficar. Infelizmente, corre bastante atrasado no processo de inicialização, então você precisa de algo que fará as alterações no boot_complete. Muito provavelmente um aplicativo que segue por si só.

Conectividade de FroyoService.java :

  echo $HOSTNAME1   

Mas, em seguida, há outro problema.

A configuração Net.HostName não é copiada para todo o sistema! Se você usar um aplicativo de console / terminal, talvez não obtenha o mesmo nome de host. Meu telefone, um Samsung Sidekick 4G (semi-galaxy s baseado) tem um init.rc que é executado echo $HOSTNAME2 , então tudo embaixo dos comandos não verá o seu nome de host do Build.PROP ou o Android_ID HostName! Então você precisa definir isso também.

.

echo $HOSTNAME3 ou echo $HOSTNAME4

Nota: Dependendo de como você está fazendo isso, você precisará executar o comando acima como root para que ele funcione. Init.rc é tipicamente na partição do sistema somente leitura, para que o acesso root seja necessário para editá-lo.

O comando DHCPCD, que é executado para obter um endereço DHCP, não será atualizado para um nome de host fornecido pelo servidor (que pode ser corrigido adicionando os ganchos de execução dhcpcd direita e dhcpcd.conf), e não será Forneça um nome de host para o servidor DHCP se echo $HOSTNAME5 (o comando hostname (o hostname) está em branco ou localhost, e ele não usa internamente net.hostname. libnetutils é usado para chamar DHCPCD com -h "net.hostname", mas se por algum motivo decidir não ligar com -h, o DHCPCD ainda enviará o nome do host do sistema via GetHostName (), desde que não seja " (nenhum) "," localhost "ou vazio. em estoque Froyo de qualquer maneira. Samsung aparafusou o cão em alguns dispositivos como o meu. Nenhum nome de host passa, tempo de rede forçado, etc.

Minha solução para gingerbread e abaixo da Samsung, edite a configuração do daemon do cliente DHCP:

A última coisa que você pode fazer é editar /etc/dhcpcd/dhcpcd.conf. Se você adicionar echo $HOSTNAME6 para o arquivo, ele usará isso, a menos que um nome de host seja fornecido no comando. Isso não corrigirá o problema android_234etc, mas se o nome do host for localhost (meu problema, já que a Samsung aparafusou libnetutils e localhost in init.rc). Você precisará de root, mas isso funciona entre reinicializações. Isso não funciona se o DHCPCD for chamado de -H HostName Opção.

 

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

Eu encontrei uma maneira de fazer isso no meu enraizado Nexus 7 com 4.2.2. A configuração é salva persistentemente e funciona por toda a reinicialização.
Fonte: http: //nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device

.
    .
  1. Observe que o dispositivo deve estar enraizado para usar adb
  2. executado adb pull /system/build.prop
  3. edite o build.prop arquivo e append net.hostname=NewHostname
  4. execute adb push build.prop /sdcard/build.prop (ou /mnt/sdcard , se falhar)
  5. Execute adb shell e execute os seguintes comandos:
    $ su
    # mount -o rw,remount /system
    # cp /sdcard/build.prop /system/build.prop (ou /mnt/sdcard Se você usou que anteriormente)
    build.prop0
    build.prop1
  6. Reinicie o dispositivo
 

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

Isso funciona no CyanogenMod e provavelmente outros roms modificados, mas não estoque ROMs AOSP:

Vá para settings & gt; Opções do desenvolvedor e role para baixo para host host . Raiz não é necessária.

(clique para ampliar)

img:

 

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

Eu não faço correr estoque em muito tempo, mas em configurações de aplicativo & gt; Desenvolvimento Você verá a opção 'Device HostName'.

 

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

 
 
     
     
5
 
vote

Vá para o Google Play Store. Procure por "hostname" e download hostname changer app.

deve estar enraizado.

 

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

Must be rooted.

 
 
 
 
1
 
vote

HostName é usado para identificar e lembrar facilmente os hosts conectados a uma rede. Está definido na inicialização, e. De ABCDEFGHIJKLMNABCDEFGHIJKLMN0 em sistemas baseados em Linux. O nome do host também é uma parte de DHCPREQUEST (padronizado como Código 12 Por IETF) Qual um cliente DHCP (dispositivo Android no nosso caso) faz para o servidor DHCP (roteador WiFi) para obter um endereço IP atribuído. O servidor DHCP armazena os nomes de host para oferecer serviços como DNS. Veja detalhes em Como ping uma rede local host por nome do host? .

Android - em vez de usar o Linux Kernel's nome do host - Propriedade usada ABCDEFGHIJKLMNABCDEFGHIJKLMN2 (já que Android 2.2 < / a>) Para definir um nome de host exclusivo para cada dispositivo que foi baseado em android_id . Esta propriedade do nome do host foi usada para Handshake DHCP (conforme adicionado no Android 2.2 e 4.0 ). No Android 6 ABCDEFGHIJKLMNABCDEFGHIJKLMN4 Continua a ser usado ( 1 , 2 , 3 , 4 ) em novo Cliente Java DHCP Quando nativo dhcpcd foi abandonado e posterior serviço foi removido < / a> no Android 7. Desde Android 8 - quando ABCDEFGHIJKLMNABCDEFGHIJKLMN6 tornou-se exclusivo para apps - ABCDEFGHIJKLMNABCDEFGHIJKLMN7 é não mais definido , Assim, um ABCDEFGHIJKLMNABCDEFGHIJKLMN8 é enviado em ABCDEFGHIJKLMNABCDEFGHIJKLMN9 . Ver Android 8 muda de privacidade e aprimoramentos de segurança :

.

DHCPREQUEST0 está vazio e o cliente DHCP não envia mais um nome de host

então os roteadores wifi não mostram nomes de host para o Android 8+, nem podemos definir / dessetos / alterá-lo.

No entanto em dispositivos enraizados Você pode definir DHCPREQUEST1 manualmente usando DHCPREQUEST2 comando ou adicione em alguns DHCPREQUEST3 's ABCDEFGHIJKLMNABCDEFGHIJKLMN14 Arquivo para definir em todas as boot. Ou use um cliente de terceiros como DHCPREQUEST5 para enviar o nome do host desejado e outras opções para roteador. Ver Conectando a Wi-Fi via 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.

 
 

Perguntas relacionadas

2  No Samsung Galaxy S3 Mini Talkback está sempre falando ao mudar de tela para casa  ( In samsung galaxy s3 mini talkback is always speaking when switching home screen ) 
De um dia para o próximo, o Talkback começou a me contar em qual tela inicial eu sou. Está sempre usando a voz do Google, mesmo que eu a colocasse para Samsun...

1  Instale a configuração ativada do ADB do ZIP  ( Install adb enabled setting from zip ) 
É possível fazer um arquivo zip, semelhante ao que instala o Gapps, que armazena o modo de depuração do ADB como uma configuração do sistema? Talvez de alguma...

1  App padrão para o tipo de arquivo  ( Default app for file type ) 
Eu tenho um Nokia 6.1 com Android 10 (Android One). Eu estava tentando baixar minha declaração de conta no aplicativo Revolut. Isso me dá uma opção para sel...

0  Entrada de movimento (giroscópio) invertida em ZOPO 998  ( Movement gyro input reversed on zopo 998 ) 
Eu tenho Zopo 998 no Android Kitkat, e comecei a usar papelão para filmes e VR. Meu problema é que os sensores de movimento parecem revertidos: quando eu viro...

3  Como posso atrasar a senha da tela na minha estratosfera?  ( How can i delay the screens password lock on my stratosphere ) 
Eu preciso do meu para ter minha tela ser senha bloqueada, mas eu quero que ele escreva depois de apenas 5-10 minutos (ou seja, se eu trancar meu telefone e d...

7  Como faço para descriptografar arquivos no meu cartão SD que eu criptografe usando as configurações?  ( How do i decrypt files on my sd card that i encrypted using the settings ) 
Eu tenho arquivos que eu usei para copiar do meu cartão SD para o meu PC usando a opção de armazenamento de massa USB sob a pop-up "Conexão USB". Eu verifique...

0  Onde as configurações do SIP foram para o meu LG Optimus 4x?  ( Where did the sip settings go to on my lg optimus 4x ) 
Cerca de 3 meses atrás comprei meu lg optimus 4x hd (aka p-880), que enviado com o Android 4.0.3. Eu pesquisei as configurações para cima e para baixo e fiq...

1  Configurações - Acessibilidade Aviso: "O aplicativo de acessibilidade baixado é necessário para ativar" - O que devo fazer?  ( Settings accessibility warning downloaded accessibility application is requi ) 
Se eu escolher o ' settings - acessibilidade ' opção no meu Samsung Galaxy S, o seguinte texto é exibido: ' Aplicativo de acessibilidade baixado é necessário ...

46  Como faço para desativar o som "clique" no aplicativo da câmera?  ( How do i disable the click sound on the camera app ) 
Quando eu tirar uma foto, ele faz um som "clique". Como este é o comportamento padrão, eu gostaria de desligá-lo. Existe uma configuração para fazê-lo; ou se ...

5  Reduzindo a lista de opções de idioma  ( Reducing the list of language options ) 
Eu gostaria de ver uma opção que permita a lista de idiomas disponíveis reduzidos para aqueles que eu realmente preciso. Quando uso a pesquisa de voz, trocar ...

6  Como posso fazer barras de rolagem sempre visíveis?  ( How can i make scroll bars always visible ) 
Android esconde barras de rolagem, a menos que a janela esteja sendo enrolada ativamente. Isso torna difícil dizer se uma janela pode ser rolada sem realmente...

0  App Switcher no Android 10 constantemente falha após uma pequena atualização na Moto Z4  ( App switcher on android 10 constantly crashes after minor update on moto z4 ) 
Motorola Motoz4 estava executando o Android 10 e funcionou bem, então uma atualização foi forçada, QDFS30.130-42-1-2, com prompts diárias constantes para rein...

4  Crie um perfil personalizado para áudio / configuração  ( Create custom profile for audio configuration ) 
Acabei de comprar um Samsung Galaxy i5510 com Android 2.2. Eu não vi em qualquer lugar (então eu suponho que não seja possível) algum gerenciamento de perfil....

12  Qual é a diferença entre GSM e WCDMA ao mudar para o modo de rede manual?  ( What is the difference between gsm and wcdma when switching to manual network mo ) 
Eu estava lendo Esta resposta e eu preciso compreender isso melhor: Qual é a diferença técnica entre "Selecionando gsm " e "Selecionando wcdma " no menu...

2  Existe uma maneira de combinar configurações (mobile / gps / bluetooth / etc) em perfis?  ( Is there a way to combine settings mobile gps bluetooth etc into profiles ) 
Eu gostaria de configurar alguma combinação de configurações de ligar / desligar e criar perfis. Por exemplo, quando em casa, eu gostaria de Bluetooth / WiFi,...




© 2021 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.