web-dev-qa-db-fra.com

Erreur Eclipse "Le serveur ADB n'a pas ACK, le démon n'a pas pu démarrer"

Après la mise à jour du SDK, Eclipse affiche cette erreur:

Le serveur ADB n'a pas ACK, le démarrage du démon a échoué.

Lorsque je lance une application Android, les informations suivantes me sont fournies:

Assurez-vous que adb se trouve correctement dans "D:\Android-sdk-windows\platform-tools\adb.exe" et peut être exécuté.

Comment puis-je résoudre ce problème?

156
pengwang

J'ai résolu ma première question: ouvrez Eclipse, ouvrez le gestionnaire de SDK et choisissez le périphérique à ouvrir.

Ou vous pouvez ouvrir le répertoire du SDK. Ouvrez le gestionnaire de SDK, puis choisissez le périphérique à ouvrir.

2: Fermez Eclipse, puis ouvrez-le.

5
pengwang

Merci, @ jowett, j'ai résolu le même problème en procédant comme suit

étape 1: CTRL+Shift+Esc pour ouvrir le gestionnaire de tâches, qui a un processus adb.exe et terminer ce processus

Étape 2: Maintenant, fermez Eclipse, qui est en cours d'exécution sur mon ordinateur.

Étape 3: Encore une fois, redémarrez Eclipse pour résoudre ce problème.


Pour ceux qui utilisent OS X

killall adb

Pour ceux qui utilisent Windows

adb kill-server

devrait faire l'affaire.

263
Dharma Kshetri

J'ai rencontré le même problème, bien que je n'aie pas la cause. Peu importe, je trouve des indices et je les fixe enfin.

Lorsque j'ouvre le gestionnaire de SDK et AVD, mais que la version AVD (2.3.3) n'est pas identique à la version de Android lib (2.3). Donc, je crée un nouveau AVD avec 2.3.

Je l'ai corrigé en procédant comme suit: 1. Ouvrez le gestionnaire de tâches Windows et tuez le processus adb.exe. 2. Fermez Eclipse et redémarrez-le. Alors ça marche.

J'espère que ça aide.

40
jowett

ADB échouera souvent s'il y a une nouvelle ligne dans adb_usb.ini. Supprimez-le, redémarrez-le et cela résoudra souvent le problème (du moins pour moi de toute façon).

35
FishGuy876

Ces symptômes se produisent si vous utilisez l'émulateur Genymotion (sous Windows ou Linux) en même temps que Android Studio:

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

Genymotion inclut sa propre copie de adb, qui interfère avec celle fournie dans le Android SDK.

Le moyen le plus simple de corriger ce problème semble être de mettre à jour vos paramètres Genymotion afin qu’il utilise le même ADB que votre SDK Android:

genymotion ADB settings

Cochez simplement l'option "Utiliser les outils personnalisés Android SDK" et entrez l'emplacement de votre choix.

35
Dan J

Invite de commandes (cmd.exe):

netstat -aon | findstr 5037

Recherchez l'ID de processus de 0.0.0.0:

Enter image description here

Assurez-vous que c'est adb.exe:

tasklist | findstr 1980

Enter image description here

Tuez ce processus:

taskkill /f /t /im adb.exe

Enter image description here

Ramener la BAD à la normale:

Enter image description here

Crédit: article de blog * le serveur Android ADB n'a pas ACK n'a pas pu démarrer le démon *

33
Bastet

Si vous utilisez une application de synchronisation pour le périphérique, cela peut également être dû au fait que d'autres applications utilisent le même port 5037. Arrêtez tous les services fonctionnant sur le port 5037 et essayez de démarrer ADB.

Pour vérifier si une application utilise le port 5037, utilisez ceci:

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

Obtenez le PID de l'application.

Utilisez Process Explorer pour trouver le processus et le quitter.

Utilisez maintenant adb start-server ou adb get-state pour démarrer/vérifier l’état du serveur ADB.

J'ai fait face au problème lorsque j'ai utilisé l'application Snappea/Wandoujia Sync.

J'ai causé ce problème en entrant une ligne vierge supplémentaire à la fin de ~/.Android/adb_usb.ini

(Le fait de supprimer la ligne vierge supplémentaire a résolu le problème.)

8
nmr

Nous pouvons résoudre ce problème si facilement.

  1. Ouvrez une invite de commande et faites cd <platform-tools directory>
  2. Exécuter la commande adb kill-server
  3. Ouvrez le gestionnaire de tâches Windows et vérifiez si adb est toujours en cours d'exécution. Si c'est le cas, tuez simplement adb.exe
  4. Exécutez la commande adb start-server dans l'invite de commande.

Enter image description here

7
Manesh Appukuttan

Assurez-vous que le débogage USB sur votre téléphone est activé. Le serveur d'arrêt ADB et le serveur de démarrage ADB n'est pas le problème.

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 *
5
Albert.Qing

J'ai déjà voté favorablement sur une autre réponse à cette question, mais juste au cas où quelqu'un se le demanderait, vous n'avez pas besoin de redémarrer Eclipse pour que ADB fonctionne à nouveau. Ouvrez simplement un shell et lancez la commande:

adb start-server

Si vous n'avez pas défini le chemin d'accès à ADB dans les propriétés de votre système, vous devez d'abord accéder au répertoire dans lequel ADB existe (sous Android\android-sdk\platform-tools ... J'utilise Windows, je ne le fais pas. Je ne sais pas comment les gens font les choses).

4
dell116

Retournez sur sysinternals.com et récupérez TCPVIEW et PROCESS Explorer, si vous ne les avez pas déjà installés.

Pour une raison quelconque, le démon ADB se termine avant la fin de l'échange des sockets fermés. Si vous exécutez (à partir de l'invite de commande) "NETSTAT -o", vous verrez le socket (généralement 5037) dans l'état CLOSE_WAIT et le numéro du processus propriétaire. Process Explorer ne montrera pas cet ID de processus (le démon s'est terminé) et le processus appelé adb.exe (qui a ouvert le socket) aura disparu. (Si adb.exe est trouvé, essayez de tuer la tâche et voyez si tout est nettoyé.)

À l’aide de TCPVIEW, localisez le socket bloqué. La colonne du nom du processus indiquera que le processus associé est introuvable. Faites un clic droit et sélectionnez "Fermer la connexion". Le socket est maintenant fermé et le démon adb devrait pouvoir démarrer.

2
HiTechHiTouch

J'ai eu un problème similaire. Tuer une instance existante du processus ADB à partir du Gestionnaire des tâches me not a fonctionné pour moi.

Il y a quelques jours à peine, j'avais essayé d'installer MIPS SDK et ADT-17 auparavant et Eclipse m'avait donné l'erreur, mais je n'ai pas résolu le problème.

Donc, maintenant, quand j'ai eu ceci Le serveur ADB n'a pas ACK, il n'a pas pu démarrer le démon ... , j'ai exécuté 'Check for Updates' dans Eclipse Aide élément de menu. Il n'y avait pas de mises à jour disponibles, mais au moins l'erreur 'Le serveur ADB n'a pas ACK' a disparu.

J'espère que cela pourrait aider dans quelques cas.

2
Chand51

Recherchez le chemin du répertoire Android. Il ne devrait pas contenir d'espaces, etc.

Vérifiez également si le plug-in a été correctement configuré dans Eclipse → Préférences.

Dans mon cas, tout avait été vérifié plusieurs fois, mais cela ne fonctionnait toujours pas. J'étais sur le point de tout réinstaller, mais je suis tombé sur une réponse sur ce site (un autre post).

Vérifiez votre antivirus. Cela peut bloquer les ports de adb.exe ou des programmes d'émulateur, etc. Cela a résolu le problème dans mon cas.

1
user1372837

En plus de la solution de @ Bastet :

En fait, nous devons arrêter le processus en utilisant l'adresse 0.0.0.0:0. C'est pourquoi la plupart des personnes qui ont tué adb.exe dans le Gestionnaire des tâches travaillaient (dans mon cas, je ne pouvais pas le voir, même dans le Gestionnaire des tâches).

Après les étapes @ Bastet , j'ai découvert qu'un autre processus utilisait cette adresse. Je suis allé de l'avant pour le tuer, et cela m'a donné ACCESS DENIED comme Error.

Donc, en utilisant le tasklist | findstr ****, j'ai découvert le nom du processus et je l'ai supprimé du gestionnaire de tâches.

Par la suite, il a commencé à fonctionner.

Dans mon cas, bas_daemon et bas_helper utilisaient cette adresse, qui correspond à la fois à MOBOROBO .

1
DeltaCap019

Tapez ./adb nodaemon server dans un terminal.

S'il renvoie Invalid content in adb_usb.ini, il y a un problème avec votre fichier adb_usb.ini dans le dossier .Android.

Ouvrez adb_usb.ini et effacez son contenu. Puis redémarrez le serveur ... cela a fonctionné pour moi.

1
aashishdhawan

Regardez l'antivirus ou le pare-feu ... Est-ce que cela vous bloque l'accès ... Dans k7 antivirus, j'ai désactivé la surveillance du système, et cela fonctionne pour moi ...

0
Sha Beer

Le moyen le plus efficace et le plus efficace de ne pas redémarrer un appareil ou un logiciel est le suivant:

Exécutez ce qui suit:

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

Et encore une chose ... La BAD est une chose autonome. Vous ne pouvez rien faire jusqu'à ce qu'il veuille fonctionner. J'ai découvert une autre méthode: laissez l'appareil connecté pendant 5 à 6 minutes et attendez. Bientôt, l'appareil se connecte et tente de se lancer.

0
Veer Shrivastav

Cela ne s'est pas produit avant que je mette en place mon téléphone Samsung Galaxy S III (conformément au guide du forum xda-developer).

Cela se produit assez au hasard, mais cela se produit certainement lorsque vous utilisez Eclipse.

Tuer le processus adb.exe et le redémarrer permet de résoudre le problème.

0
Nathan Perrier

J'ai eu le même problème. Mais il n'y avait aucun processus de adb sur mon ordinateur portable. Je viens de me déconnecter et de me connecter à mon compte, et le problème est résolu ...

La BAD pourrait démarrer à partir de la fenêtre CMD après cela.

0
Chuck.Zhou