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?
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.
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.
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.
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).
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:
Cochez simplement l'option "Utiliser les outils personnalisés Android SDK" et entrez l'emplacement de votre choix.
Invite de commandes (cmd.exe):
netstat -aon | findstr 5037
Recherchez l'ID de processus de 0.0.0.0:
Assurez-vous que c'est adb.exe:
tasklist | findstr 1980
Tuez ce processus:
taskkill /f /t /im adb.exe
Ramener la BAD à la normale:
Crédit: article de blog * le serveur Android ADB n'a pas ACK n'a pas pu démarrer le démon *
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.)
Nous pouvons résoudre ce problème si facilement.
cd <platform-tools directory>
adb kill-server
adb
est toujours en cours d'exécution. Si c'est le cas, tuez simplement adb.exe
adb start-server
dans l'invite de commande.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 *
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).
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.
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.
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.
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 .
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.
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 ...
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.
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.
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.