Nach der Installation der Android O-Vorschau auf einem Testgerät funktionierte meine ADB nicht mehr und gab mir diese Fehlermeldung.
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
Die einzigen Antworten auf dieses Problem betrafen, dass Genymotion nicht mit ADB synchron ist, ich jedoch Genymotion nicht verwende. Jede Hilfe wäre sehr dankbar. Ich habe bereits Android Studio sowie alle seine Tools und Einstellungen gelöscht und neu installiert, aber dieses Problem scheint noch zu bestehen.
In meinem Fall ist dieser Fehler aufgetreten, als ich meinen Umgebungs-ADB-Pfad auf ~/.Android-sdk/platform-tools
Eingestellt habe (was passiert, wenn zB Android-Plattform-Tools über Homebrew installiert werden). Welche Version war 36, aber Android Studio-Projekt hat Android SDK nächsten Pfad ~/Library/Android/sdk
Welche ADB-Version war 39.
Ich habe meinen PATH zu Plattform-Tools geändert, um ~/Library/Android/sdk/platform-tools
Und Fehler wurde behoben
Das funktioniert bei mir ...
Entfernen Sie zunächst das "{Not using Genymotion}" aus dem Titel. Es lenkt Leser wie mich ab, die nicht wissen, was Genymotion ist. Das Absurde hier ist, dass Sie eine Antwort mit 21 Punkten erhalten haben, die besagt: "Gehe zu den GenyMotion-Einstellungen" ...
Der wichtigste Punkt, den alle anderen übersehen haben, ist, dass Sie diesen Fehler erhalten, wenn Sie einen laufenden adb Prozess im Hintergrund haben. Der erste Schritt ist also, es zu finden und zu töten:
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
Wenn Sie es gefunden haben, können Sie es mit kill -9 46636
Töten.
In meinem Fall, das Problem war eine alte Version von adb aus GapDebug. Wenn Sie dies mit GapDebug erhalten haben, verlassen Sie es und tun Sie es dann
adb kill-server
adb start-server
denn mit GapDebug im Hintergrund startet GapDebug beim Beenden des adb Servers sofort eine eigene Kopie, wodurch der Startserver ignoriert wird
Sie haben zwei Versionen von 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
Sie konnten sehen, auf welches Ihr PFAD zeigt (echo $PATH
), Aber ich habe es mit einem adb stop-server
In der einen Version und einem adb start-server
In der anderen behoben.
Ich hatte den gleichen fehler In meinem Fall hatte ich mit Appium zwei Versionen von ADB
$ /usr/local/bin/adb
Version 36
und
$ /Users/user/Library/Android/sdk/platform-tools/adb
Version 39
Die Lösung war:
stellen Sie sicher, dass Ihr $ PATH in bash_profile auf Folgendes verweist: /Users/user/Library/Android/sdk/platform-tools/
stoppen Sie den ADB-Server: adb kill-server
und überprüfen Sie, ob Appium gestoppt ist.
löschen Sie die ADB-Version 36 (oder benennen Sie sie um, um eine Sicherungskopie zu erstellen): rm /usr/local/bin/adb
starte adb server: adb start-server
oder einfach Appium starten
Um eine weitere mögliche Lösung hinzuzufügen, hat Helium von Clockworkmod eine eigene Version von ADB eingebaut, die immer wieder in Betrieb genommen wurde. Das Beenden der Helium Desktop-Anwendung behebt das Problem.
Ich hatte das gleiche Problem mit Android Studio - adb server version (37) passt nicht zu diesem Client (39). Ich habe es durch die folgende Lösung behoben:
Gehen Sie in Android Studio zu Tools -> Android -> SDK Manager
Deaktivieren Sie auf der Registerkarte SDK-Tools die Option Android= SDK Platform-Tools), und klicken Sie zum Deinstallieren auf Übernehmen.
Ich habe dann den Platform-Tools-Ordner in Platform-ToolsOld umbenannt
Aktivieren Sie dann im SDK-Manager erneut die Platform-Tools, um sie erneut zu installieren.
Wie von anderen hier erwähnt, könnten zwei AdBs laufen ... Und um diese Antworten aus einer Linux-Box-Perspektive hinzuzufügen (für den nächsten Neuling, der unter Linux arbeitet);
Deinstalliere die Android-Tools deiner Distribution (benutze zypper oder yum etc)
# zypper -v rm Android-tools
Finden Sie heraus, wo sich Ihre andere ADB befindet
# find /home -iname "*adb"|grep -i Android
Sagen wir, es war um;
/ home/entwickler/Android/Sdk/plattform-tools/adb
Erstellen Sie dann einen Softlink im Ordner/usr/bin
ln -s /home/developer/Android/Sdk/platform-tools/adb /usr/bin/adb
Dann;
# adb start-server
Ich denke, Sie haben mehrere AdB-Server ausgeführt, Genymotion könnte einer von ihnen sein, aber auch Xamarin - Visual Studio für Mac OS könnte einen AdB-Server ausführen. Das Schließen von Visual Studio hat für mich funktioniert