Errore Eclipse "Il server ADB non ha ACK, impossibile avviare il demone"


158

Dopo aver aggiornato l'SDK, Eclipse mostra questo errore:

Il server ADB non ha ACK, impossibile avviare il demone.

Quando eseguo un'applicazione Android, mi dà quanto segue:

Assicurati che adb sia posizionato correttamente in 'D: \ android-sdk-windows \ platform-tools \ adb.exe' e che possa essere eseguito.

Come posso risolvere questo problema?


di recente ha installato genymotion e successivamente ha iniziato a verificarsi la soluzione era rimuovere manualmente il comando adb dal terminale e impostare il percorso adb nelle variabili di ambiente in ubantu che punta a sdk / platform-tools e poi ha funzionato.
Vikas Kumar,

Risposte:


263

Grazie, @jowett , ho risolto il mio stesso problema, facendo questi passaggi

Passaggio 1: CTRL + Shift+ Escper aprire il task manager, che ha il processo adb.exe e termina (uccide) quel processo

Passaggio 2: Ora chiudi l'eclissi, che è attualmente in esecuzione sul mio computer.

Passo 3: Ancora una volta, riavvia eclissi quindi risolto il problema.


Per quelli che usano OS X

killall adb

Per quelli che usano Windows

adb kill-server

dovrebbe fare il trucco.


40

Ho riscontrato lo stesso problema, anche se non ho causato ciò. Qualunque cosa, trovo alcuni indizi e risolto finalmente.

Quando apro SDK e AVD manager, ma trovo che la versione AVD (2.3.3) non sia la stessa con la versione lib di Android (2.3). Quindi creo un nuovo AVD con 2.3.

L'ho risolto con i seguenti passaggi: 1. Aprire Task Manager di Windows e terminare il processo adb.exe. 2. Chiudi eclipse e riavvialo. Quindi funziona.

Spero che sia d'aiuto.


35

Questi sintomi si verificano se si utilizza l'emulatore Genymotion (su Windows o Linux) contemporaneamente ad Android Studio:

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

Genymotion include una propria copia di adb, che interferisce con quella inclusa nell'SDK di Android.

Il modo più semplice per risolvere sembra essere quello di aggiornare le impostazioni di Genymotion in modo che utilizzi lo stesso ADB del tuo SDK Android:

Impostazioni ADB genymotion

Seleziona l'opzione "Usa strumenti SDK Android personalizzati" e inserisci la posizione desiderata.


Funziona per me dopo aver aggiornato Android Studio alla 2.1.2.
Noel Bautista,

35

ADB fallirà spesso se c'è una nuova riga in adb_usb.ini. Rimuovilo, riavvialo e questo spesso risolverà il problema (almeno per me comunque).


mentre cercavo di eseguire il debug con Kindle Fire voleva inserire una voce in questo file ~ / .android / adb_usb.ini, ma inconsapevolmente ha aggiunto alcune righe vuote in più. Ora rimosso. riparato, grazie.
Giovedì

35

Prompt dei comandi (cmd.exe):

netstat -aon | findstr 5037

Trova l'id di processo di 0.0.0.0:

Inserisci qui la descrizione dell'immagine

Assicurati che sia adb.exe:

tasklist | findstr 1980

Inserisci qui la descrizione dell'immagine

Uccidi questo processo:

taskkill /f /t /im adb.exe

Inserisci qui la descrizione dell'immagine

Riporta ADB alla normalità:

Inserisci qui la descrizione dell'immagine

Attestazione: post sul blog * Il server ADB Android non ha potuto avviare il demone ACK *


La mia parte è tfadb.exe, dopo averlo ucciso, funziona, grazie.
BobGao

Nel mio caso, svchost.exe utilizzava la porta. Dopo averlo ucciso, è iniziato con successo.
ranka47

13

Se stai utilizzando un'applicazione di sincronizzazione per il dispositivo, potrebbe essere anche perché ci sono altre app che utilizzano la stessa 5037porta. Chiudere tutti i servizi in esecuzione sulla porta5037 e provare ad avviare ADB.

Per verificare se qualche applicazione utilizza la porta 5037, utilizzare questo:

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

Ottieni il PID dell'applicazione.

Utilizzare Process Explorer per trovare il processo ed uscire da esso.

Ora usa adb start-servero adb get-stateper avviare / controllare lo stato del server ADB.

Ho riscontrato il problema quando ho usato l'applicazione Snappea / Wandoujia Sync.


Grazie! svchost.exe stava usando quella porta all'improvviso per qualche motivo.
Jacob L,

Non so quando sarà risolto, ma è un peccato non essere risolto ancora.
Dejan,

8

Ho causato questo problema inserendo una riga vuota aggiuntiva alla fine di ~ / .android / adb_usb.ini

(La rimozione della riga vuota aggiuntiva ha risolto il problema)


Hai risolto un problema simile rimuovendo tutte le righe vuote, non solo l'ultima.
Pavel

2
Ho avuto lo stesso problema perché ho aggiunto una riga vuota alla fine quando ho inserito le linee Kindle Fire. Ho rimosso la riga vuota e adb riavviato senza problemi. Grazie.
Jerome Mouneyrac

7

Possiamo risolvere questo problema così facilmente.

  1. Aprire un prompt dei comandi e fare cd <platform-tools directory>
  2. Esegui comando adb kill-server
  3. Apri Task Manager di Windows e controlla se adbè ancora in esecuzione. Se lo è, basta uccidereadb.exe
  4. Esegui comando adb start-servernel prompt dei comandi

Inserisci qui la descrizione dell'immagine


Non è necessario riavviare Eclipse! :)
TWiStErRob,

5

Ho risolto la mia prima domanda: Apri Eclipse, apri SDK Manager e scegli il dispositivo da aprire.

Oppure puoi aprire la directory SDK. Apri Gestione SDK, quindi scegli il dispositivo da aprire

2: Chiudi Eclipse, quindi aprilo.


5

Assicurarsi che il debug USB sul telefono sia attivato. Il kill-server ADB e il server di avvio ADB non rappresentano il 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 *

4

Ho già votato un'altra risposta qui a questa domanda, ma nel caso qualcuno si stesse chiedendo, non è necessario riavviare Eclipse per riavviare ADB. Basta aprire una shell ed eseguire il comando:

adb start-server

Se non hai impostato il percorso ADB nelle proprietà del tuo sistema, devi prima andare nella directory in cui esiste ADB (in Android \ android-sdk \ platform-tools .... Sto eseguendo Windows, non so come fanno le persone mac).


2
Non importa. Ottengo l'errore anche dalla riga di comando.
IgorGanapolsky,

Non ho trovato il modo di farlo su Mac. La forzatura della chiusura di ADB non ha aiutato, quindi ho dovuto riavviare l'intero computer. Quindi ha funzionato di nuovo.
Marcel Bro

2

Passa a sysinternals.com e raccogli TCPVIEW e PROCESS EXPLORER, se non li hai già installati.

Per qualche motivo, il demone ADB sta terminando prima che lo scambio di socket vicini sia completato. Se esegui (dal prompt dei comandi) "NETSTAT -o", vedrai il socket (generalmente 5037) nello stato CLOSE_WAIT e il numero del processo proprietario. Process Explorer non mostrerà quell'ID processo (il demone è terminato) e il processo chiamato adb.exe (che ha aperto il socket) scomparirà. (Se si trova adb.exe, provare a terminare l'attività e vedere se le cose vengono ripulite.)

Utilizzando TCPVIEW, individuare il socket sospeso. La colonna del nome del processo mostrerà che il processo associato non è stato trovato. Fare clic con il tasto destro e selezionare "Chiudi connessione". Il socket ora è chiuso e il demone adb dovrebbe essere in grado di avviarsi.


Utile. Inoltre, in Process Explorer, se vedi un adb.exe in esecuzione con la colonna Percorso che mostra [Errore durante l'apertura del processo], questo può essere il probabile colpevole.
Samik R,

2

Ho avuto un problema simile. Uccidere un'istanza esistente del processo ADB da Task Manager non ha funzionato per me.

Pochi giorni fa, avevo provato a installare MIPS SDK e ADT-17 in precedenza ed Eclipse mi ha dato l'errore e non ho risolto il problema.

Quindi, ora, quando ho avuto questo server ADB non ACK, non sono riuscito ad avviare il problema demone ... , ho eseguito 'Controlla aggiornamenti' nella voce di menu Aiuto di Eclipse . Non sono disponibili aggiornamenti, ma almeno l'errore "Server ADB non ha ACK" è scomparso.

Spero che ciò possa aiutare in alcuni casi.


1

Digita ./adb nodaemon serverun terminale.

Se ritorna Invalid content in adb_usb.ini, allora c'è un problema con il tuo adb_usb.inifile nella .androidcartella.

Apri adb_usb.inie cancella il suo contenuto. Quindi riavviare il server ... ha funzionato per me.


1

Controlla il percorso della directory Android. Non deve contenere spazi, ecc.

Controlla anche se il plugin è stato configurato correttamente in Eclipse → Preferenze .

Nel mio caso ho controllato tutto più volte, ma non funzionava ancora. Stavo per reinstallare tutto, ma ho trovato una risposta su questo sito (qualche altro post).

Controlla il tuo antivirus. Potrebbe essere il blocco delle porte adb.exeo dei programmi di emulazione, ecc. Ciò ha risolto il problema nel mio caso.


1

Oltre alla soluzione di @Bastet :

In realtà dobbiamo terminare il processo usando l'indirizzo 0.0.0.0:0. Ecco perché per la maggior parte delle persone adb.exestava uccidendo dal Task Manager (nel mio caso non sono stato in grado di vederlo nemmeno nel Task Manager).

Seguendo i passaggi di @Bastet , ho scoperto che altri processi utilizzavano questo indirizzo. Sono andato avanti per ucciderlo, e mi ha dato ACCESS DENIEDcomeError .

Quindi usando il tasklist | findstr ****ho scoperto il nome del processo e l'ho ucciso dal Task Manager.

Successivamente ha iniziato a funzionare.

Nel mio caso bas_daemone stavobas_helper usando questo indirizzo, entrambi i quali corrispondono a MOBOROBO .


0

Ho avuto lo stesso problema. Ma non c'è stato alcun processo adbsul mio laptop. Mi disconnetto e accedo al mio account, ed è stato risolto ...

Successivamente ADB potrebbe iniziare da Windows CMD.


0

Il modo migliore e più efficiente senza riavviare alcun dispositivo o software è:

Eseguire quanto segue:

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

E un'altra cosa .. ADB è una cosa autosufficiente. Non puoi fare nulla fino a quando non vuole che funzioni. C'è un altro modo che ho scoperto: lasciare il dispositivo collegato per 5-6 minuti e attendere. Presto il dispositivo si connette e tenta di avviarsi.


0

Questo non è iniziato per me fino a quando non ho effettuato il root del mio telefono Samsung Galaxy S III (seguendo la guida del forum xda-developer).

Succede in modo piuttosto casuale, ma si verifica sicuramente durante l'esecuzione di Eclipse.

Uccidere il processo adb.exe e riavviarlo risolve il problema.


0

Guarda l'antivirus o il firewall ... Qualcuno di questi ti impedisce l'accesso ... Nell'antivirus k7 ho spento il monitor di sistema e funziona per me ...



-1

Uccidere Eclipse e riavviare non mi ha aiutato. Ho aggiunto lo strumento Android alle variabili PATH, ho avviato Task Manager e ucciso adb.exe.

Ho riavviato Eclipse e poi ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.