Erro "A conexão com o adb está inoperante e ocorreu um erro grave".

289

Passei dias tentando lançar qualquer programa Android. Até o "Hello World" me dá o mesmo erro:

"A conexão com o adb está inoperante e ocorreu um erro grave".

Estou executando o Eclipse v3.5 (Galileo), APIs do Google 2.2.8, em uma máquina Windows XP.

Eu usei todos os truques que posso encontrar na Web: a linha de comando "adb kill-server", o DDMS "reset ADB", iniciei o emulador antes e depois do Eclipse e procurei por portas sendo usadas por outros programas .

O que está acontecendo aqui? Existe uma combinação mágica de versões do Eclipse, Java, ADB, emulador e qualquer outra coisa que funcione?

Ted Betz
fonte
2
Seu emulador está aparecendo no comando devices? -# adb devices
Adam Harte
Se tudo o que você está fazendo é desenvolvimento para Android, basta baixar o Motodev para Android. Então tudo isso é pré-configurado para você.
Jim
Não estou familiarizado com o comando devices. Eu vejo as APIs do Google como um AVD na janela "Android SDK & AVD Manager" e também posso iniciá-lo a partir daí.
Ted Betz
Executei o comando adb devices e recebi "erro: falha na gravação durante a conexão".
Ted Betz
Obrigado, Jim, pelo aviso no site Motodev. Eles facilitam muito a instalação de todos os pacotes. No entanto, o mesmo problema existe. Eu acho que é o mesmo Eclipse com o mesmo adb instável. Qualquer ajuda é muito apreciada. Estou no dia 3 deste problema.
Ted Betz

Respostas:

533

Experimente os passos abaixo:

  1. Feche o Eclipse se estiver executando
  2. Vá para o diretório de ferramentas da plataforma SDK do Android no prompt de comando
  3. Tipo adb kill-server(o Eclipse deve ser fechado antes de emitir esses comandos )
  4. Então digite adb start-server
  5. Nenhuma mensagem de erro é lançada ao iniciar o servidor ADB; o ADB é iniciado com êxito.
  6. Agora você pode iniciar o Eclipse novamente.

Funcionou para mim dessa maneira.

Reinicie seu telefone também!

Guna
fonte
19
no mac era um pouco mais simples, eu fui para as ferramentas de diretório dentro do Android sdk. Então clico no arquivo adb e inicio o eclipse novamente.
Adeem Maqsood Basraa 19/03/11
27
O Adb foi movido de / tools / para / platform-tools /
Gabriël
18
Isso não me ajudou. Eu tenho o 'servidor ADB não ACK'. A reinicialização do computador ajudou;)
lomza
15
Quando adb start-server, recebi um erro: o servidor ADB não ACK. Falha ao iniciar o daemon.
IgorGanapolsky
52
Ok, eu resolvi meu problema. Eu vou para o Gerenciador de tarefas em windows7 -> processos -> selecionei o adb.exe -> Finalizar processo. Depois disso, vou para o prompt do cmd e digite adb start-server. Desta vez, o adb foi declarado com sucesso. Eu corro eclipe e não estava mostrando nenhum erro.
Nishant
106

Usar:

Abra o Gerenciador de tarefas → Processos → adb.exe → Finalizar processo → reiniciar o Eclipse

Isso funcionou para mim.

E:

Abra o Gerenciador de tarefas → Processos → eclipse.exe → Finalizar processo → reiniciar o Eclipse

Peter Mortensen
fonte
6
Isso funcionou para mim. O adb kill-server na linha de comando não fez isso por mim.
Brandon O'Rourke
2
Muito obrigado. Esta é a única maneira que funciona para o meu caso (Eclipse: Indigo, OS: Win7 64 bits)
Hong
Não vejo um processo chamado "adb.ext" no meu gerenciador de tarefas. O emulador está sendo executado.
Kumar Kush
"adb.exe" ... procure-o em processos em execução. não na seção janelas abertas no Gerenciador de tarefas.
precisa
1
esse método funcionou para mim também ao usar o eclipse juno. Obrigado
Gaurav Tailor
24

Abra o gerenciador de tarefas do Windows, elimine o processo chamado adb.exe e reinicie o programa.

joseph_morris
fonte
Vejo que você é um novo usuário aqui. Respostas com grandes cheques verdes por eles significam que a pessoa os aceitou. Ao adicionar respostas a uma pergunta com uma resposta aceita, certifique-se de que sua resposta tenha alguma diferença substancial, seja a clareza da explicação, detalhe ou abordagem adotada. Espero que você aproveite a sua estadia aqui!
Jason D
4
Obrigado. Minha abordagem aqui não envolve reiniciar o Eclipse (mais rápido), localizar o diretório de ferramentas do ADB SDK em um prompt de comando e digitar dois comandos (também mais rápidos). Em outras palavras, é um passo em vez dos seis originais. Apesar da aceitação de uma resposta do pôster original, achei que essa abordagem era uma adição substancial o suficiente (para aqueles que usam o Windows, pelo menos) para justificar a publicação.
Joseph_morris
1
A resposta aceita não funcionou, este fez, graças - Eclipse win7 "Indigo"
Mikey G
Por "relançar seu programa", você quer dizer reiniciar o Eclipse ou executar o aplicativo Android que estou escrevendo no Eclipse novamente?
Solace
12

[2012-07-04 11:24:25 - A conexão com o adb está inoperante e ocorreu um erro grave.
[2012-07-04 11:24:25 - Você deve reiniciar o adb e o Eclipse.
[2012-07-04 11:24:25 - Verifique se o adb está localizado corretamente em '/ home / ASDK / platform-tools / adb' e pode ser executado

Percebi que a pasta do projeto no Eclipse estava fechada. Expandi o diretório e o projeto foi lançado. Eu sei que isso pode parecer um "acéfalo". Eu tinha os arquivos .java abertos na área de trabalho e isso foi suficiente para me fazer pensar que o projeto estava aberto.

user1477736
fonte
10

Eu tentei isso usando o Eclipse Juno e funcionou bem:

  • Na lista suspensa do ícone Executar, selecione a opção Executar configuração.
  • Verifique se o seu projeto está selecionado
  • Vá para a aba Android
  • Na seção Iniciar Ação, selecione Iniciar Selecione o nome do pacote e pronto! tente executar seu aplicativo.

ATUALIZAÇÃO: Também ajuda a eliminar o processo adb.exe do gerenciador de tarefas e reiniciá-lo. O adb.exe pode ser encontrado aqui: Android \ android-sdk \ platform-tools.

Boa sorte

Norwin
fonte
7

Atualize suas ferramentas de desenvolvimento Eclipse Android. Funcionou para mim.

jwanga
fonte
6

Verifique se ele não está sendo executado nos processos do gerenciador de tarefas. Nesse caso, encerre o processo e inicie-o em um prompt de comando, como em uma resposta anterior. Isso funcionou para mim.

Peter Mortensen
fonte
1
Por favor, preste atenção na data da pergunta original. Esta pergunta foi respondida há mais de um ano com uma resposta aceita.
AJ.
4

Na minha situação: Eu tenho o mesmo aviso: A conexão com o adb está inoperante e ocorreu um erro grave

Eu encontrei a solução:

O adb.exe foi movido de: android-sdk-windows\tools\adb.exepara android-sdk-windows\platform-tool\adb.exe.

Única coisa. Mover arquivo adb.exepara \tools. E reinicie o Eclipse.

maydenec
fonte
4

Sei que esta pergunta já foi respondida, mas pensei em acrescentar que encontrei o problema como sendo permissões de pasta no meu android-sdkdiretório.

Testei-o concedendo Controle Total a Todos (desonesto, eu sei ...), e o problema desapareceu. Ainda não tenho certeza de qual a combinação específica de permissões que ele estava procurando, mas presumo que algum ou outro serviço no Eclipse não tenha permissões de execução no adb.exe. Dito isto, eu sou um completo noob para isso - só queria divulgá-lo, caso alguém tivesse alguma idéia sobre isso.

Estou executando o Windows 7, 64 bits, 4.2.0 Eclipse e 20.0.0v201206242043 ADT.

Peter Mortensen
fonte
4
  1. Vá para a pasta platform-toolsnas cmdferramentas da plataforma de pastas disponíveis na pasta Android onde você tem arquivos de backup do Android.

  2. Digite o seguinte

    adb kill-server

    e

    adb start-server

    então digite

    adb devices
    
    adb kill-server

Agora você pode ver seu dispositivo.

Yasin JamesBond
fonte
3

Esse problema está me atormentando há dias, até que finalmente descobri o que estava causando isso. Ficou tão ruim que nem consegui atualizar meus aplicativos, mesmo depois de tentar todas as sugestões acima.

O HTC Sync também executa um processo chamado adb.exe. O HTC Sync é um programa opcional disponível ao instalar o driver USB HTC. Eu havia atualizado recentemente minha instalação do pacote HTC e, aparentemente, não havia instalado o HTC Sync antes. A verificação de propriedades no adb.exe no Gerenciador de Tarefas mostrou que ele pertence ao HTC Sync, não ao Android.

Assim que eu desinstalei o HTC Sync no painel de controle, o problema desapareceu! (Ele é listado separadamente do driver USB para que possa permanecer.) Nunca vi mais de uma instância do adb.exe em execução. Estou curioso para saber se as pessoas que precisam matar o processo no Gerenciador de tarefas, verificam se é realmente o processo do Android que você está matando?

Por favor, leia os comentários dos usuários (eu também tenho um HTC Thunderbolt): http://www.file.net/process/adb.exe.html

Mike Ludwig
fonte
2

Simplesmente entre Task Manager(usuários do Windows) e mate o abd.exe(ele permanece ativo de alguma forma). Depois desse começo Eclipse.

O erro

"A conexão com o adb está inoperante e ocorreu um erro grave"

aconteceu após a instalação do plugin para Android do Netbeans. Após o fechamento do Netbeans, o processo abd.exepermaneceu ativo. Quando você deseja iniciar novamente Eclipse... você receberá o erro.

Você precisa matar manualmente o adb.exee, em seguida, iniciar Eclipse.

Funcionou para mim.

dan andi
fonte
2

Eu tive os mesmos problemas e o meu programa antivírus (Comodo) protegeu o adb.exe e, por isso, não funcionou. Fechei o antivírus e funcionou muito bem. Considere isso.

Catalin Stan
fonte
1

Meu problema era que meu firewall estava impedindo que o ADB se ligasse à porta que desejava.

Sean Fujiwara
fonte
1

Eu tive o mesmo problema

  1. Entrei no Gerenciador de tarefas -> find adb.exe -> final do processo
  2. Vá para o diretório de ferramentas do SDK do Android no prompt de comando, clique duas vezes em adb.exe

Isso é tudo

George Miro
fonte
1

Estou executando o Eclipse Neon2. no Mac OS 10.12.4 e eu enfrentei esse problema após atualizar recentemente o meu SDK do Android para as mais recentes "SDK Tools" (v 25.2.5), "Platform tools" (v 26) e "Build Tools" (v 26) e movendo um dos meus projetos de desenvolvimento para o Android Studio.

Infelizmente, nenhuma das muitas respostas aqui funcionou para mim.

O que funcionou foi criar uma cópia separada do Android SDK em uma pasta diferente e apontar o Eclipse para ele por meio de "Preferências -> Android". Você precisará usar uma versão mais antiga do SDK, conforme indicado nesta resposta do SO .

Depois de baixar a versão separada do SDK e colocá-la em uma pasta diferente do SDK principal do Android, inicie o SDK Manager (via <separate-sdk>/tools/android) e instale as versões necessárias das "Ferramentas da plataforma", "Ferramentas de criação" e Android. Existem duas coisas importantes a serem observadas aqui:

  1. Certifique-se de não atualizar suas "SDK Tools" além da versão já instalada!

  2. Certifique-se de instalar uma versão das "Ferramentas de compilação" inferiores a 26!

Caso contrário, você pode encontrar esse problema .

rsp1984
fonte
1
  1. Vá para a pasta de ferramentas do seu Android SDK
  2. Corra emulator.exe -avd <your avd>. Levará algum tempo para o emulador ser executado.
  3. Depois de ver a tela inicial do emulador, abra o Eclipse e execute seu programa novamente ...
Peter Mortensen
fonte
1

Eu tive um problema parecido. Descobri que havia outro adb.exe em execução, iniciado a partir do BirdieSync (Sync Tool for Thunderbird). Descobri com o Process Explorer da Sysinternals, que o Windows estava executando outro adb.exe incompatível. Basta colocar o cursor do mouse acima do processo (no Process Explorer) e você verá qual adb.exe foi iniciado.

Eu tive que matar o processo BirdieSync também, porque ele iniciou o adb.exe errado novamente.

Então eu poderia iniciar o adb.exe correto e funcionou bem.

JohnBoy
fonte
Agora entendi o que é o stackoverflow: estou muito atrasado e a pergunta já está marcada como "resolvida". Mas isso me ajudou a encontrar o meu erro e eu também queria ajudar. Mais sorte da próxima vez!
johnboy
1

A morte do abd.exe misteriosamente em execução funcionou. Esse bloqueio repentino me parou por um longo tempo. Eu estava fazendo todos os tipos de coisas na linha de comando e removi o ícone de cadeado da pasta do usuário, mas nada funcionou até sua simples sugestão de procurar o abd nos processos de execução do gerenciador de tarefas e matá-lo.

Outro roadblock para iniciantes, descobri uma resposta: não execute o Eclipse quando qualquer arquivo que não seja o principal .java estiver ativo. Se você executá-lo quando, por exemplo, o arquivo main.xml estiver ativo, você receberá mensagens de erro inúteis, um arquivo ímpar criado como main.xml.out e não será executado.

michael
fonte
1

Encontrei o caminho do SDK (Preferências * → AndroidLocalização do SDK ) foi a causa. Meu caminho do SDK foi o seguinte:

C:\Program Files (x86)\Android\android-sdk

Os espaços no caminho são o problema. Para que funcione, você deve mudar Program Files (x86)paraProgra~2

O caminho certo completo é C:\Progra~2\Android\android-sdk.

Agora deve funcionar.

ilker erikli
fonte
1

As soluções anteriores provavelmente funcionarão. Eu o resolvi baixando o ADT (Android Developer Tools) mais recente e substituindo todos os arquivos na pasta SDK.

http://developer.android.com/sdk/index.html

Depois de substituí-lo, o Eclipse pode emitir um aviso dizendo que o caminho para o SDK não foi encontrado, vá para Preferências e altere o caminho para outra pasta (C :), clique em Applye, em seguida, altere-o novamente e defina o caminho do SDK e clique Applynovamente.

xtrm
fonte
1

Fechar Eclipse

Use isso no terminal:

sudo killall -9 adb

Execute o Eclipse.

jpmaster
fonte
1

Se você estiver usando o emulador Genymotion:

Certifique-se de que o caminho do SDK usado para Genymotion também seja o mesmo caminho usado para o Eclipse.

Este erro também ocorre se esses dois caminhos forem diferentes.

Peter Mortensen
fonte
0

Eu tentei os métodos acima, finalize o processo adb através do gerenciador de tarefas e tudo, não funcionou. Mas quando eu executei o arquivo adb.exe como administrador, ele funcionou bem.

Sai Rohan
fonte
0

Aqui está um script que eu corro para reiniciar o servidor adb (Android Debug Bridge):

#!/usr/bin/env bash

## Summary: restart adb (Android Debug Brdige) server.

## adb binary full path
ADB_BIN=./adb


if pgrep adb >/dev/null 2>&1
then
    echo "adb is running"
    echo "terminating adb ..."
    $ADB_BIN kill-server
    if pgrep adb >/dev/null 2>&1
    then
        echo "did not work"
        echo "kill adb processes by killall"
        killall -9 adb
    else
        echo "terminated"
    fi
else
    echo "adb is not running"
fi

echo "starting adb ..."

$ADB_BIN start-server

echo "adb process:"

echo `pgrep adb`

echo "done"

# END
Meng Lu
fonte
0

A última vez que enfrentei esse problema, foi resolvido com o adb restart. Se você tentou adb kill-servere adb start-serversem sorte, pode tentar isso. Quando, novamente, enfrentei o mesmo problema, tentei todas as respostas acima, sem sorte, e essa foi a última opção a tentar. Funcionou como um encanto.

Vá para o Android SDK Manager >> Instale os pacotes essenciais.

AnonymousCoder
fonte
0

maydenec está correto (no meu caso ...). O arquivo foi movido.

Eu até encontrei este arquivo:

C:\Program Files (x86)\Android\android-sdk\tools\adb_has_moved.txt

O que explicava esse problema.

Sugestões neste arquivo:

  1. Instale "Ferramentas da plataforma Android SDK".
  2. Por favor, também atualizar sua variável de ambiente PATH para incluir os "platform-tools /" diretório.
Guy Cohen
fonte
0

Funcionou para mim iniciar o meu emulador AVD primeiro (do gerenciador AVD) e depois executar o meu programa. As outras coisas mencionadas aqui.

(Reiniciar o servidor ADB não funcionou.)

user929404
fonte
0

Eclipse → preferênciasAndroidNDK

Verifique se o caminho "NDK Location" está definido corretamente e use o botão de navegação para defini-lo.

Gavin Thornton
fonte
0

AndroidSDK → Ferramentas de plataformaKill não funcionou.

Mas depois de reiniciar meu computador, funcionou.

gnganpath
fonte