Après avoir installé l'aperçu Android O sur un périphérique de test, la BDA a cessé de fonctionner et a commencé à me donner cette erreur.
adb server version (36) doesn't match this client (39); killing... adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:333] Could not open interface: e00002c5 adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:294] Could not find device interface error: could not install *smartsocket* listener: Address already in use ADB server didn't ACK * failed to start daemon * error: cannot connect to daemon
Les seules réponses que j’ai rencontrées à ce sujet sont que Genymotion n’est pas synchronisé avec ADB mais je n’utilise pas Genymotion. Toute aide serait grandement appréciée. J'ai déjà effacé et réinstallé Android Studio, ainsi que tous ses outils et paramètres, mais semble toujours avoir ce problème.
Dans mon cas, cette erreur s'est produite lorsque j'ai configuré le chemin adb de mon environnement sur ~/.Android-sdk/platform-tools
(ce qui se produit par exemple lorsque Android-platform-tools est installé via homebrew), dont la version était 36, mais Android Studio. le projet a Android chemin suivant du SDK ~/Library/Android/sdk
dont la version de l’annonce était 39.
J'ai changé mon PATH en platform-tools en ~/Library/Android/sdk/platform-tools
et l'erreur a été résolue
Cela fonctionne pour moi ...
Tout d’abord, veuillez supprimer "{Ne pas utiliser Genymotion}" du titre. Cela distrait les lecteurs comme moi qui ne savent pas ce qu'est Genymotion. Ce qui est absurde, c’est que vous obteniez une réponse avec 21 points: "Accédez aux paramètres de GenyMotion" ...
Le point principal qui a échappé à tous les autres est que vous obtiendrez cette erreur si vous avez un processus en cours adb en arrière-plan. La première étape consiste donc à le trouver et à le tuer:
ps aux | grep adb
user 46803 0.0 0.0 2442020 816 s023 S+ 5:07AM 0:00.00 grep adb
user 46636 0.0 0.0 651740 3084 ?? S 5:07AM 0:00.02 adb -P 5037 fork-server server
Quand vous le trouvez, vous pouvez le tuer en utilisant kill -9 46636
.
Dans mon cas, le problème était une ancienne version de adb provenant de GapDebug. Si vous avez cela avec GapDebug, sortez-en et faites
adb kill-server
adb start-server
car avec GapDebug en arrière-plan, lorsque vous tuez le serveur adb , GapDebug démarrera immédiatement sa propre copie, ce qui entraînera l'ignorance du serveur de démarrage.
Vous avez deux versions de ADB $ /usr/local/bin/adb version Android Debug Bridge version 1.0.36 Revision 0e9850346394-Android
$ /Users/user/Library/Android/sdk/platform-tools/adb version Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-Android
Vous pouvez voir lequel de vos chemins pointe vers (echo $PATH
) mais je l'ai corrigé avec un adb stop-server
sur une version et un adb start-server
sur l'autre.
J'ai eu la même erreur. Dans mon cas, en utilisant Appium, j'avais deux versions de ADB
$ /usr/local/bin/adb
version 36
et
$ /Users/user/Library/Android/sdk/platform-tools/adb
version 39
La solution était:
assurez-vous que votre $ PATH dans bash_profile pointe vers: /Users/user/Library/Android/sdk/platform-tools/
arrêtez le serveur adb: adb kill-server
et vérifiez qu'Appium est arrêté.
supprimez la version 36 de l’adb (ou vous pouvez le renommer pour en faire une sauvegarde): rm /usr/local/bin/adb
démarrer le serveur adb: adb start-server
ou juste démarrer Appium
Pour ajouter encore une autre solution potentielle, Helium de Clockworkmod a sa propre version d'ADB intégrée, qui continue de démarrer. Quitter l'application Helium Desktop résout le problème.
J'ai eu le même problème avec Android Studio - la version du serveur adb (37) ne correspond pas à ce client (39). J'ai résolu par la solution suivante:
Dans Android Studio, accédez à Outils -> Android -> Gestionnaire de SDK.
Dans l'onglet Outils du SDK, désélectionnez Android Outils de plate-forme SDK, cliquez sur Appliquer pour désinstaller.
J'ai ensuite renommé le dossier Platform-Tools en Platform-ToolsOld
Ensuite, dans le SDK Manager, cochez à nouveau Platform-Tools pour procéder à la réinstallation.
Comme mentionné par d'autres ici, vous pourriez avoir deux adb en cours d'exécution ... et ajouter à ces réponses du point de vue de la boîte Linux (pour le prochain débutant qui travaille sous Linux);
Désinstallez les outils Android de votre distribution (utilisez zypper ou yum, etc.)
# zypper -v rm Android-tools
Trouvez où se trouve votre autre annonce
# find /home -iname "*adb"|grep -i Android
Dis que c'était à;
/ home/développeur/Android/Sdk/platform-tools/adb
Faites ensuite un lien symbolique vers celui-ci dans le dossier/usr/bin
ln -s /home/developer/Android/Sdk/platform-tools/adb /usr/bin/adb
Ensuite;
# adb start-server
Je pense que vous avez plusieurs serveurs adb en cours d'exécution, genymotion pourrait être l'un d'entre eux, mais aussi Xamarin - Visual studio pour mac OS pourrait exécuter un serveur adb, fermer Visual studio a fonctionné pour moi