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.