web-dev-qa-db-de.com

ADB-Serverversion (36) passt nicht zu diesem Client (39) {Genymotion wird nicht verwendet}

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.

68
HTMLlama

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

48
Deni Erdyneev

Das funktioniert bei mir ...

  • gehen Sie zu GenyMotion-Einstellungen -> Registerkarte ADB
  • anstatt die Genymotion Android Tools zu verwenden, wählen Sie "custom Android SDK Tools" und durchsuchen Sie dann Ihr installiertes SDK.
88
Alecs

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

16
ishahak

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.

9
user1221780

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:

  1. stellen Sie sicher, dass Ihr $ PATH in bash_profile auf Folgendes verweist: /Users/user/Library/Android/sdk/platform-tools/

  2. stoppen Sie den ADB-Server: adb kill-server und überprüfen Sie, ob Appium gestoppt ist.

  3. löschen Sie die ADB-Version 36 (oder benennen Sie sie um, um eine Sicherungskopie zu erstellen): rm /usr/local/bin/adb

  4. starte adb server: adb start-server oder einfach Appium starten

7
Ezetha

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.

6
HeWhoWas

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.

6
Benno

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);

  1. Deinstalliere die Android-Tools deiner Distribution (benutze zypper oder yum etc)

    # zypper -v rm Android-tools
    
  2. 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

  3. Erstellen Sie dann einen Softlink im Ordner/usr/bin

     ln -s /home/developer/Android/Sdk/platform-tools/adb  /usr/bin/adb
    
  4. Dann;

     # adb start-server
    
4
MarcoZen

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

3
Nicolás Loaiza