Erro do Eclipse "O servidor ADB não ACK, falhou ao iniciar o daemon"

158

Após atualizar o SDK, o Eclipse mostra este erro:

O servidor ADB não ACK, falhou ao iniciar o daemon.

Quando executo um aplicativo Android, ele me dá o seguinte:

Verifique se o adb está localizado corretamente em 'D: \ android-sdk-windows \ platform-tools \ adb.exe' e pode ser executado.

Como posso resolver este problema?

pengwang
fonte
recentemente instalou o genymotion e, depois disso, a solução foi remover o comando adb do terminal manualmente e definir o caminho adb nas variáveis ​​de ambiente no ubantu, apontando para sdk / platform-tools e funcionou.
Vikas Kumar

Respostas:

263

Obrigado, @jowett , resolvi o mesmo problema, executando estas etapas

Etapa 1: CTRL + Shift+ Escpara abrir o gerenciador de tarefas, que possui o processo adb.exe e finalizar (matar) esse processo

Etapa 2: Agora, feche o eclipse, que está atualmente em execução no meu computador.

Etapa 3: Novamente, reinicie o eclipse e resolva esse problema.


Para quem usa o OS X

killall adb

Para quem usa Windows

adb kill-server

deve fazer o truque.

Horrorgoogle
fonte
40

Eu encontrei o mesmo problema, embora não o tenha causado. Seja como for, acho algumas pistas e finalmente consertei.

Quando abro o SDK e o gerenciador de AVD, mas encontro a versão do AVD (2.3.3) não é a mesma da versão da lib android (2.3). Então, eu crio um novo AVD com 2.3.

Corrigi-o pelas seguintes etapas: 1. Abra o gerenciador de tarefas do Windows e mate o processo adb.exe. 2. Feche o eclipse e reinicie-o. Então funciona.

Espero que ajude.

jowett
fonte
35

Esses sintomas ocorrem se você estiver usando o emulador Genymotion (no Windows ou Linux) ao mesmo tempo que o Android Studio:

adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *

Genymotion inclui sua própria cópia de adb , que interfere na que está incluída no Android SDK.

A maneira mais fácil de corrigir parece ser atualizar as configurações do Genymotion para que ele use o mesmo ADB do seu SDK para Android:

configurações ADB genymotion

Basta marcar a opção "Usar ferramentas personalizadas do SDK do Android" e digite o local desejado.

Dan J
fonte
Funciona para mim depois de atualizar o Android Studio para 2.1.2.
Noel Bautista
35

O ADB geralmente falhará se houver uma nova linha adb_usb.ini. Remova-o, reinicie-o e isso geralmente resolverá o problema (pelo menos para mim).

FishGuy876
fonte
enquanto tentava depurar com o Kindle Fire, queria fazer uma entrada neste arquivo ~ / .android / adb_usb.ini, mas, sem saber, adicionou algumas linhas em branco extras. Agora o removeu. foi consertado, obrigado.
21313
35

Prompt de comando (cmd.exe):

netstat -aon | findstr 5037

Encontre o ID do processo 0.0.0.0:

Digite a descrição da imagem aqui

Verifique se é adb.exe:

tasklist | findstr 1980

Digite a descrição da imagem aqui

Mate este processo:

taskkill /f /t /im adb.exe

Digite a descrição da imagem aqui

Coloque o ADB de volta ao normal:

Digite a descrição da imagem aqui

Crédito: postagem no blog * O servidor Android ADB não ACK falhou ao iniciar o daemon *

Mia
fonte
Meu lado é o tfadb.exe, depois de matá-lo, está funcionando, obrigado.
BobGao
No meu caso, svchost.exe estava usando a porta. Depois de matá-lo, ele começou com sucesso.
ranka47 2/04
13

Se você estiver usando um aplicativo de sincronização para o dispositivo, também pode ser porque existem outros aplicativos usando a mesma 5037porta. Encerre todos os serviços em execução na porta5037 e tente iniciar o ADB.

Para verificar se algum aplicativo está usando a porta 5037, use o seguinte:

netstat -a -n -o |findstr "5037"

Obtenha o PID do aplicativo.

Use o Process Explorer para encontrar o processo e sair dele.

Agora use adb start-serverou adb get-statepara iniciar / verificar o status do servidor ADB.

Eu enfrentei o problema quando usei o aplicativo Snappea / Wandoujia Sync.

Pradeep Chakravarti Gudipati
fonte
Obrigado! svchost.exe estava usando essa porta por algum motivo de repente.
Jacob L
Eu não sei quando isso será corrigido, mas é uma pena não ser corrigido ainda.
Dejan
8

Causei esse problema inserindo uma linha em branco extra no final de ~ / .android / adb_usb.ini

(A remoção da linha em branco extra corrigiu o problema)

nmr
fonte
Resolva um problema semelhante removendo todas as linhas em branco, e não apenas a última.
Pavel
2
Eu tive o mesmo problema porque adicionei uma linha em branco no final ao inserir as linhas do Kindle Fire. Eu removi a linha em branco e o adb foi reiniciado sem problemas. Obrigado.
Jerome Mouneyrac
7

Podemos resolver esse problema tão facilmente.

  1. Abra um prompt de comando e faça cd <platform-tools directory>
  2. Comando de execução adb kill-server
  3. Abra o Gerenciador de tarefas do Windows e verifique se adbainda está em execução. Se for, apenas mateadb.exe
  4. Executar comando adb start-serverno prompt de comando

Digite a descrição da imagem aqui

Manesh Appukuttan
fonte
Não há necessidade de reiniciar o Eclipse! :)
TWiStErRob
5

Eu resolvi minha primeira pergunta: abra o Eclipse, abra o SDK Manager e escolha o dispositivo a ser aberto.

Ou você pode abrir o diretório SDK. Abra o Gerenciador de SDK e escolha o dispositivo para abrir

2: Feche o Eclipse e, em seguida, abra-o.

pengwang
fonte
5

Verifique se a depuração USB no seu telefone está ligada. ADB kill-server e ADB start-server não é o problema.

C:\Documents and Settings\Administrator> adb nodaemon server

 - cannot bind 'tcp:5037'

C:\Documents and Settings\Administrator> netstat -aon | findstr "5037"

 - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088
 - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0

C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088"

 - Image name PID session name session # memory usage

========================= ====== ================ === ===== ============

 - adb.exe 3088 Console 0 3,816 K

C:\Documents and Settings\Administrator>taskkill /f /pid 3088

 - Success: terminate the PID for the process of 3,088.

C:\Documents and Settings\Administrator>adb start-server

 - daemon not running. starting it now on port 5037 *
 - daemon started successfully *
Albert.Qing
fonte
4

Eu já votei outra resposta aqui para esta pergunta, mas, caso alguém esteja se perguntando, você não precisa reiniciar o Eclipse para que o ADB seja executado novamente. Basta abrir um shell e executar o comando:

adb start-server

Se você não definiu o caminho para o ADB nas propriedades do sistema, primeiro você deve ir para o diretório em que o ADB existe (em Android \ android-sdk \ platform-tools .... Estou executando o Windows, não não sei como as pessoas mac fazem as coisas).

dell116
fonte
2
Isso não importa. Eu recebo o erro da linha de comando também.
IgorGanapolsky
Não encontrei uma maneira de fazê-lo no Mac. Forçar o encerramento do ADB não ajudou, então tive que reiniciar o computador inteiro. Então funcionou novamente.
Marcel Bro
2

Vá para sysinternals.com e escolha TCPVIEW e PROCESS EXPLORER, se você ainda não os tiver instalado.

Por alguma razão, o daemon ADB está sendo finalizado antes da conclusão da troca de soquetes. Se você executar (no prompt de comando) "NETSTAT -o", verá o soquete (geralmente 5037) no estado CLOSE_WAIT e o número do processo proprietário. O Process Explorer não mostrará que o ID do processo (o daemon foi encerrado) e o processo chamado adb.exe (que abriu o soquete) desaparecerá. (Se adb.exe, se encontrado, tente finalizar a tarefa e veja se as coisas são limpas.)

Usando o TCPVIEW, localize o soquete travado. A coluna do nome do processo mostrará que o processo associado não foi encontrado. Clique com o botão direito e selecione "Fechar conexão". O soquete agora está fechado e o daemon adb deve poder iniciar.

HiTechHiTouch
fonte
Útil. Além disso, no Process Explorer, se você vir um adb.exe em execução com a coluna Caminho mostrando [Processo de abertura de erro], esse pode ser o provável culpado.
Samik R
2

Eu tive uma questão semelhante. Matar uma instância existente do processo ADB do Gerenciador de Tarefas não funcionou para mim.

Apenas alguns dias atrás, eu havia tentado instalar o MIPS SDK e o ADT-17 anteriormente e o Eclipse me deu o erro, e não corrigi esse problema.

Então, agora, quando recebi este servidor ADB não ACK, falha ao iniciar o daemon ... problema, executei 'Check for Updates' na Ajuda do Eclipse item de menu . Não havia atualizações disponíveis, mas pelo menos o erro 'ADB server not ACK' desapareceu.

Espero que isso ajude em alguns casos.

Chand51
fonte
1

Digite ./adb nodaemon serverum terminal.

Se retornar Invalid content in adb_usb.ini, haverá um problema com seu adb_usb.iniarquivo no diretório.android pasta

Abra adb_usb.inie apague seu conteúdo. Em seguida, reinicie o servidor ... funcionou para mim.

aashishdhawan
fonte
1

Verifique o caminho do diretório Android. Não deve conter espaços, etc.

Verifique também se o plug-in foi configurado corretamente no Eclipse → Preferências .

No meu caso, verifiquei tudo várias vezes, mas ainda não estava funcionando. Eu estava prestes a reinstalar tudo, mas me deparei com uma resposta neste site (em algum outro post).

Verifique seu antivírus. Pode estar bloqueando as portas dos adb.exeprogramas ou emuladores, etc. Isso resolveu o problema no meu caso.

user1372837
fonte
1

Além da solução da @Bastet :

Na verdade, temos que matar o processo usando o endereço 0.0.0.0:0. É por isso que a maioria das pessoas que mataram adb.exepelo Gerenciador de Tarefas estava trabalhando (no meu caso, eu não era capaz de vê-lo nem no Gerenciador de Tarefas).

Seguindo as etapas do @Bastet , descobri que algum outro processo estava usando esse endereço. Fui em frente para matá-lo, e isso me deu ACCESS DENIEDcomo Error.

Então, usando o tasklist | findstr ****eu descobri o nome do processo e o matei no Gerenciador de Tarefas.

Depois disso, começou a funcionar.

No meu caso, bas_daemone bas_helperestava usando esse endereço, o qual corresponde a MOBOROBO .

DeltaCap019
fonte
0

Eu tive o mesmo problema. Mas não houve processo adbno meu laptop. Acabei de sair e entrar na minha conta, e está resolvido ...

O ADB pode iniciar a partir das janelas do CMD depois disso.

Chuck.Zhou
fonte
0

A melhor e a maneira mais eficiente sem reiniciar qualquer dispositivo ou software é:

Execute o seguinte:

adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe

E mais uma coisa .. ADB é uma coisa auto-dependente. Você não pode fazer nada até que ele não queira trabalhar. Descobri mais uma maneira: deixe o dispositivo conectado por 5 a 6 minutos e aguarde. Logo o dispositivo se conecta e tenta iniciar.

Veer Shrivastav
fonte
0

Isso não começou a acontecer até que eu torci meu telefone Samsung Galaxy S III (seguindo o guia do fórum do xda-developer).

Isso acontece aleatoriamente, mas definitivamente está ocorrendo durante a execução do Eclipse.

Matar o processo adb.exe e reiniciá-lo resolve o problema.

Nathan Perrier
fonte
0

Veja o antivírus ou o firewall ... Isso bloqueia o acesso ... No antivírus k7, desliguei o monitor do sistema e funciona para mim ...

Sha Beer
fonte
-1

Eu tive que permitir que o adb.exe acesse minha rede no meu firewall.

Terel
fonte
1
Estou usando este firewall: sphinx-soft.com/de/Vista/order.html Tudo o que fiz foi alterar a regra do adb.exe paraallow all
Terel 6/14
-1

Matar o Eclipse e depois reiniciar não me ajudou. Adicionei a ferramenta Android às variáveis ​​PATH, iniciei o Gerenciador de tarefas e matei o adb.exe.

Eu reiniciei o Eclipse e funcionou.

Kristy Welsh
fonte