Android emulador-5554 offline


134

Estou tendo um problema com o emulador-5554, ele continua me dizendo que está offline.

Quando eu faço um a adb devicespartir da linha de comando, ele diz

emulator-5554 offline

Mesmo após uma nova reinicialização, eu tento esse comando e ele ainda diz que está offline.

O problema é quando tento instalar arquivos .apk no emulador usando abd install <path>no prompt de comando, ele diz que está offline. Se eu criar outro dispositivo e executar esse, tente instalar os arquivos .apk e diga tem muitos dispositivos conectados. Em outras palavras, não consigo instalar meus arquivos .apk.

Como no mundo posso me livrar desse maldito emulador-5554? Ouvi dizer que, se você reiniciar, deve limpar todos os dispositivos, mas isso não parece estar funcionando. É como se estivesse sendo inicializado quando meu computador inicia. Alguém já encontrou esse problema?

obrigado


3
Para determinar se o problema é o emulador, tente o seguinte: 1. Abra um emulador. 2. Abra outro emulador. 3. adb devicespara obter os nomes dos emuladores. 4. Tente instalar o APK executando: adb -s NAME_OF_DEVICE install file.apk5. Diga-nos o que acontece.
— Cristian

Vou tentar quando chegar em casa (no trabalho agora), não sabia que você poderia especificar o dispositivo em que deseja instalar. Isso deve ser realmente útil. Vou atualizar em algumas horas. Obrigado pela resposta!
— hanesjw

Mais uma vez obrigado pelo comentário. Consegui instalar o apk no emulador fazendo o que você disse. O desconectado ainda permanece na minha lista de dispositivos, mas tudo que eu queria fazer era instalar o .apk. Mais uma vez obrigado, funcionou!
— hanesjw

Acho que esta pergunta está relacionada a: stackoverflow.com/questions/6013624/… Tente dar uma olhada neste tópico.
— amigos estão

Isso não responde à sua pergunta, mas pode resolver o seu problema - adb -ddispositivos USB especificados em vez de emuladores, adb -eemuladores em vez de dispositivos USB, e adb -s NAMEacho que pode ser usado para especificar especificamente qual dispositivo você deseja, embora não esteja claro se o último sempre funciona da maneira que você pensa.
— Erhannis 16/09/19

Respostas:


62

Nesse caso, você pode fazer o seguinte para garantir que seu emulador comece a funcionar novamente:

  1. Vá para cmd e digite adb kill-server
  2. Vá para o gerenciador de tarefas e encontre adbnos processos. Se você encontrar um, clique com o botão direito do mouse e clique na árvore final do processo.
  3. No eclipse, vá para Window> Android Virtual Device Manager , clique no AVD que deseja iniciar, clique em start e desmarque " Launch From Snapshot " e depois clique em launch.

É isso aí! Vai demorar um pouco e deve resolver seu problema.


Isso também funcionou para mim (matar o ADB não resolveu meu problema, em nenhuma situação).
— Booger

Assim que eu matei essa árvore de processos, a lista de dispositivos em execução do adb foi apagada :) funcionou. <3 obrigado
— DeathRs

9
No Android Studio, alterar a Opção de inicialização do dispositivo virtual de Inicialização rápida para Inicialização a frio funciona para mim.
— Eldes

Onde posso encontrar a configuração "Iniciar a partir do instantâneo" no Gerenciador de dispositivos Android quando a executo no Visual Studio 2019?
— jacktric 16/07/19

106

1 Simplesmente "Limpe dados" para corrigir esse problema.

insira a descrição da imagem aqui

2) Se não funcionar, vá para o dispositivo emulado e ative as opções do desenvolvedor> ative a depuração usb


1
Desinstalar o aplicativo do emulador fez o truque para mim. Mas é a mesma idéia que limpando os dados
— james

1
Isso ajudou na combinação com 'Cold Boot now' logo abaixo de 'Wipe Data'.
— S. Gissel

tks tanto, você salvou o meu dia
— Manh Nguyen

24

A maneira como o Android detecta emuladores é verificando portas começando na porta 5555.

O número que você vê na adb deviceslista (no seu caso 5554) será um a menos do que a porta que o adb está achando aberta.

Você provavelmente tem um processo em execução que está escutando na porta 5555. Para se livrar do dispositivo "offline", você precisará encontrar esse aplicativo e fechá-lo ou reconfigurá-lo para ouvir uma porta diferente.


A pergunta era sobre o BAD. Números de porta ADB começam em 5555.
— Brigham

2
"Você provavelmente tem um processo em execução que está escutando na porta 5555". Isso realmente ajudou, pois estávamos executando outro servidor nessa porta e esquecemos totalmente!
— abhijit

Ele sempre começou no 5554 - em todos os meus PCs (em casa e no trabalho) ... e sempre é MESMO (5554, 5556, 5558, 5560, ...) ao usar vários emuladores.
— Phantômaxx

Frank, por que você acha que todos estão quites? É porque o Android também usa as portas numeradas ímpares no meio.
— Brigham

Isso me ajudou também! Eu tinha uma porta aberta no 5555 que aparece como emulador 5554 (?). Todo mundo que já tentou respostas não funcionais no estilo "reiniciar o servidor" deve prosseguir e o portscan seu host local. Presumi que o ADB usaria dispositivos USB mais diretamente, sem olhar para minhas portas locais e fazer suposições sobre a existência de um emulador sem nem mesmo fazer uma verificação de protocolo.
— MVR

22

Esta solução é para Windows.

(Consulte a solução do @Chris Knight para Mac / Linux )

  1. Inicie o Windows Powershell:

    Iniciar -> digite 'powershell' -> Pressione ENTER

  2. Execute o seguinte comando: adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

Nesse caso, 12b80FF443 é o meu dispositivo físico e as entradas emulator- * são lixo.

  1. Por @Brigham , "A maneira como o Android detecta emuladores é verificando as portas começando na porta 5555". O número da porta é indicado após o nome do emulador (neste caso, 5656 e 5652). O número da porta a ser verificado é o número da porta do emulador mais 1. Portanto, neste caso: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Então, vamos ver qual programa está usando essas portas. Nesse caso, as portas a serem verificadas começam com "565". Então, eu vou procurar por portas em uso começando com 565. Execute:netstat -a -n -o | Select-String ":565"


PS C:\Users\CJBS> netstat -a -n -o |  Select-String ":565"

  TCP    127.0.0.1:5653         127.0.0.1:5653         ESTABLISHED     5944
  TCP    127.0.0.1:5657         127.0.0.1:5657         ESTABLISHED     5944
  1. O campo final nesta saída é o PID (Process ID) - nesse caso, é o PID 5944 para ambas as duas portas. Então, vamos ver qual é esse ID do processo. Execute: tasklist /v | Select-String 5944. Substitua 5944 pela saída do comando anterior:

PS C:\Users\CJBS> tasklist /v | Select-String 5944

adb.exe                       5944 Console                    1      6,800 K Running         MyPCName\CJBS          0:06:03 ADB Power Notification Window

Que surpresa. É ADB. Como observado por outras respostas, também podem ser outros programas.

  1. Agora, basta matar esse ID do processo. Execute kill 5944, substituindo 5944 pelo PID no comando anterior.

PS C:\Users\CJBS> kill 5944
  1. Para confirmar que o emulador espúrio se foi, execute novamente o seguinte comando: adb devices

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

O ADB é reiniciado (como foi morto anteriormente) e não detecta mais emuladores falsos.


9

Finalmente resolvi esse problema, tive que ir para as opções de desenvolvedor nas configurações do emulador , depois rolei um pouco para baixo e liguei a depuração USB. Instantaneamente, meu dispositivo foi reconhecido on-line e eu não enfrentava mais esse problema. Tentei reiniciar o android studio e emulador , matando o processo adb , mas esses não funcionaram.


1
você é um herói!
— Felipe Castilhos

Olá @Shamsul, você pode descrever como acessar as Opções do desenvolvedor nas Configurações, no Emulador? Presumo que você esteja se referindo ao AVD Manager, no Android Studio. Eu tenho o mesmo problema descrito neste tópico e tentei todas as coisas sugeridas, exceto a sua sugestão. Não vejo nenhuma opção de desenvolvedor para o emulador no AVD Manager.
— Eddie

Olá Eddie, o procedimento usual para ativar a opção de desenvolvedor é o mesmo para emulador e dispositivos reais. Encontre o número da versão nas informações do software, toque nele repetidamente; depois de 7 a 10 toques, você verá que a opção do desenvolvedor foi ativada.
— Shamsul Arefin Sajib

8

Se você estiver no Linux ou Mac e supondo que o dispositivo offline seja 'emulator-5554', você pode executar o seguinte:

netstat -tulpn|grep 5554

Qual produz a seguinte saída:

tcp        0      0 127.0.0.1:5554          0.0.0.0:*               LISTEN      4848/emulator64-x86
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN      4848/emulator64-x86

Isso me diz que o ID do processo 4848 (o seu provavelmente será diferente) ainda está escutando na porta 5554. Agora você pode matar esse processo com:

sudo kill -9 4848

e o dispositivo offline fantasma não existe mais!


8

No AVD Manager, tente a opção "Cold Boot Now" no menu suspenso. Funcionou para mim!


Esta é provavelmente a primeira coisa que as pessoas devem tentar antes de ir nessas outras soluções mais complicadas ...
— ralfoide

7

No meu caso, encontrei algum processo que faz com que o adb não funcione bem.
Você pode tentar eliminar algum processo estranho e executar "dispositivos adb" para testar.

Funcionou para mim:
mate o nome do processo MONyog.exe


7

Resolvi isso abrindo meu prompt de comando:

adb kill-server

dispositivos adb

Após a inicialização, o ADB agora detecta o dispositivo / emulador.


7

Eu também tive o mesmo problema. Eu tentei todas as soluções descritas aqui, mas elas não me ajudaram. Em seguida, removi todos os emuladores no Android Virtual Device Manager e criei novos. O problema estava na configuração de imagem do sistema CPU / ABI do Android Virtual Device Manager . No meu emulador de máquina Windows10 com imagem do sistema x86sempre está offline, onde o emulador com imagem do sistema x86_64está funcionando corretamente conforme o esperado. Esteja ciente disso


no meu caso, x 86 imagens do sistema Windows 10, eu só preciso excluir todas emulador seguida, recriá-los
— Dika

1
Muito obrigado, passei muito tempo tentando fazer com que isso funcionasse e esse era o meu problema
— Brendan Samek

O mesmo aqui, mas no Windows 7.
— Viktor Brešan

5

Apenas escreva

adb -e reboot

e seja feliz com adb))


Isso informa ao ADB para reiniciar o emulador. Não pode funcionar se estiver marcado como offline.
— shkschneider

funciona se você executou anteriormente rm -Rf ~/.androidpara limpar dispositivos offline. Melhor comando e apenas um para resolver meu problema. Não kill-serverou start-serverfez o truque.
— Victor R. Oliveira

4

A opção "limpar dados do usuário" finalmente resolveu meu problema. limpe os dados do usuário toda vez que você iniciar o emulador. Isso sempre funciona para mim! Eu uso o windows 8 x64, eclipse


tentei todos alone.Thanks de dados do usuário acima, mas trabalharam com compensação limpe
— Sai Ram

@SaiRam, você não tentou tudo acima, porque essa dica foi repetida em várias respostas. Também Cold Boot Nowajuda.
— CoolMind 15/05/19

@SaiRam, desculpe. :) Obrigado.
— CoolMind 16/05/19

4

Habilite a depuração USB no seu emulador

  1. Configurações> Sobre o telefone> Número da versão> Toque 7 vezes para se tornar desenvolvedor;
  2. Configurações> Opções do desenvolvedor> Depuração USB.

É isso aí


Reativar a depuração USB me ajudou (desligar e ligar)
— Maxim Mazurok

4

Na lista de gerenciadores do AVD, no menu suspenso de ações: Inicialização a frio agora

reinicia sem toda a dor acima.


2

Você tentou excluir e recriar seu AVD? Você pode excluir manualmente os arquivos AVD indo para o diretório em que estão armazenados (no subdiretório /.android/avd do usuário).


Oi, obrigado pela resposta. Na verdade, eu tentei isso. Ainda lá. Estou tentado a reinstalar tudo.
— hanesjw

2

Vá para o gerenciador de tarefas do Windows e finalize o processo "adb.exe". Pode haver mais de uma instância do mesmo processo, certifique-se de encerrar todas elas.


1
Que tal "adb kill-server"?
— DagW

2

Você tem bluestacks instalados? Se você fizer isso, os processos em segundo plano executados criam o dispositivo offline "emulator-5554".

Vá para o gerenciador de tarefas e finalize todos os processos com a descrição de "Bluestacks"


2

no linux ou mac, a porta que está bloqueada será emulator-id + 1, então 5555, para: sudo lsof -i :5555 irá mostrar o pid do processo que está tomando a porta (deve ser a segunda coluna), para matá-la: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

os dispositivos adb (falsos) não serão mais exibidos na lista


2

No meu caso, o emulador estava trabalhando com o Oreo e inferior, mas não com o Pie, e tudo o que tentei parecia não ter efeito. O que finalmente funcionou foi atualizar o emulador para a versão mais recente (versão 28).


eu também ... muito chato
— Analizer

2

No meu caso, iniciei em 'Cold Boot Now' e cliquei em Message para permitir a conexão.


2

abra seu emulador,

configuração -> sobre o dispositivo emulado -> clique em Criar número repetidamente -> abra opções do desenvolvedor -> abra a depuração USB


O problema é que o emulador está apenas tendo uma tela preta. Você só pode fazer isso se puder acessar as configurações.
— Jeanne vie

1

Descobri que o ambiente de emulação aparece como "offline" quando a revisão adb que estou usando não foi recente. Atualizei corretamente meus caminhos (e excluí a versão antiga do adb) e, em "adb kill-server", "adb devices", o ambiente de emulação não aparece mais como "offline".

Eu pude imediatamente usar o "adb shell" depois desse ponto.


1

Tente isso ...

  1. Feche o emulador se estiver em execução.

  2. Inicie o Emulator novamente e aguarde online.

  3. digite Command no prompt de comando e pressione a tecla ENTER: adb tcpip 5555

(Verifique se apenas um emulador está sendo executado por vez.)

  1. adb -s emulator-5555 emu kill

  2. Pressione a tecla Enter ....

  3. Feito.

  4. verifique os dispositivos pelo comando "adb devices" no cmd.


1

Se o emulador já estiver aberto ou em execução, será informado que você está offline. Você pode verificar novamente na linha de comando (Ubuntu) e executar:

 adb devices

Você deve ver seu emulador offline, é necessário fechar a instância em execução do emulador (já que a porta será exibida como ocupada) e, depois disso, você poderá executar seu aplicativo. Espero que isso ajude alguém.


1

Eu tentei de tudo, mas apenas este funciona para o meu caso: use o gerenciador do SDK e reinstale a imagem do sistema. Android Studio, clique em Configurar, Gerenciador de SDK, Iniciar Gerenciador de SDK autônomo, Marque todas as "APIs do Google Intel x86 * Imagem do sistema", "Intel x86 Atom * Imagem do sistema" e instale. Em seguida, reinicie o Android studio.

Pode ser necessário reconfigurar e limpar o dispositivo virtual com o AVD Manager. Certifique-se de escolher a versão x86.


Para mim, foi a versão x86_64 que está a trabalhar, os outros não funcionou
— hiddeneyes02

1

Certifique-se de que sua integração de habilitação do ADB esteja marcada; vá para Ferramentas> Android> Ativar integração do ADB.

se não estiver marcado, marque esta opção e feche seu dispositivo virtual e abra-o novamente. isso funcionou para mim .. boa sorte !!


1

Eu tive o mesmo problema com meu dispositivo virtual. O problema é devido à imagem Oreo dos dispositivos virtuais que têm a Play Store integrada. Para resolver esse problema, instalei um novo dispositivo sem a Play Store integrada e tudo estava bem.

Espero que ajude, tchau


que situação esquisita, mas também foi corrigida para mim.
— Reidisaki 21/05/19


0

No meu caso, a causa foi que eu havia reiniciado uma VM com android-x86 por dentro. A reinicialização da VM com Android-x86 e a reinicialização do servidor adb corrigiram o problema.


0

Isso ocorre pelo fato de você ter outro dispositivo virtual instalado em sua máquina. Pode ser Bluestacks, pois também enfrentei um problema semelhante. Desinstalei o Bluestacks e verifiquei que adb devices estava funcionando bem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.