Die ADB-Serverversion stimmt nicht mit diesem Client überein


151

Wann immer ich versuche zu rennen adb devices:

            $ adb devices
            * daemon not running. starting it now *
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Der Daemon wird nicht ausgeführt und der Daemon wird neu gestartet.

Wenn ich dann wieder adb-Geräte starte, macht es dasselbe -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Wenn ich es dann erneut starte, macht es genau das Gleiche -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Bitte helfen Sie !!

Außerdem gibt mir mein DDMS immer wieder die folgende Nachricht:

[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host

Hier sind die Protokolle von kurz vor dem Neustart von adb -

              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [480]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, total part = 100, len = 167
              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [248]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  D  qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
              1291             lib_locapi  V  inject_xtra_waiting = flase
              1291    GpsLocationProvider  D  Releasing wakelock
              1291            WifiService  D  releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@47aead50}
              1291            WifiService  D  enable and start wifi due to updateWifiState
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  unblock rmt_storage client thread
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 1
              1291       BatteryStatsImpl  I  notePhoneSignalStrengthLocked: 4->3
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  unblock rmt_storage client thread
              1291    PowerManagerService  D  New lightsensor value:40, lcdValue:143
              1291    PowerManagerService  D  lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 2
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [80]
              1291        locapi_rpc_glue  V  Callback received: 80 (cb_id=0x50B0000 handle=1)
              1291                    RPC  D  written RPC packet size: [28]
              1470   usicWidgetController  D  unbindMusicPlaybackService()
              1707   MediaPlaybackService  E  BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
              1291    NotificationService  V  Battery Full, Charging
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291                 lights  E  write ok string=1,len=1
              1707       MediaPlayer.java  D  setOnCompletionListener being cleaned to null
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291    NotificationService  V  Turn off Jogball/OJ LED
              1291    NotificationService  D  cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
              1291           AudioService  I   AudioFocus  abandonAudioFocus() from android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService$5@476dd838

Für mich half beim Beenden der Helium-Desktop-App, die eine eigene ADB-Version hat. :)
Velda

In meinem Fall war es Genymotion, es gibt eine Konfiguration, um eine eigene Version zu verwenden, oder Sie können Ihre eigene festlegen.
Crysfel


In aosp habe ich umbenannt aosp/out/host/darwin-x86/bin/adb, adb-aospweil aliasingmeine lokale Version (außerhalb von AOSP) nicht funktioniert hat.
Paschalis

Antworten:


299

Verwenden Sie Genymotion für ein virtuelles Gerät?

Wenn ja, ist dieser Fehler wahrscheinlich aufgetreten, weil ADB von Genymotion mit Ihrem ADB von Android SDK (unter Verwendung derselben Portnummer) in Konflikt stand. Um dies zu beheben, gehen Sie einfach zu settings=> wählen Sie die ADBRegisterkarte => klicken Sie auf die Option Use custom Android SDK Toolsund legen Sie Ihren SDK-Ordner fest

Geben Sie hier die Bildbeschreibung ein

Nachdem Sie dies konfiguriert haben, versuchen Sie, Ihre ADB neu zu starten, indem Sie in den Ordner gehen, in platform-toolsdem adbsich der folgende Befehl befindet, und führen Sie den folgenden Befehl aus:

  • ./adb kill-server
  • ./adb start-server

* Tipps: Sie können den Prozess von Genymotion schließen, bevor Sie den obigen Befehl ausführen

Ich hoffe das hilft.


Danke Aditya !!! Endlich eine anständige Antwort. Es begann nach dem Update von Android Studio. Ich war verrückt nach diesem, habe den SDK und alles neu installiert. Ich dachte, es sei ein Fehler in der neuen Version.
TacoEater

1
Nur das hat geholfen! Es gibt ein winziges Tool namens 'adbfix', das mir den Hinweis gab, dass dies ein pfadbezogenes Problem sein könnte, aber eigentlich nichts unternommen hat, um das Problem zu beheben.
icarus74

Ich muss Genymotion lieben, da Aktienemulatoren zu viel Ressourcen verbrauchen, da sie meinen verprügelten Laptop unter Ubuntu ständig aufheizen.
Thethakuri

1
Ich habe keine Genymotion in meinem System installiert. Wie behebe ich das?
Arka.b

7
Jeder Genymotion-Emulator muss geschlossen sein, bevor die obigen Befehle ausgeführt werden.
Robert

63

Ich habe Dell PC Suite und HTC Sync von meinem Computer deinstalliert und dieses Problem ist behoben.

BEARBEITEN: Um die Ursache dieses Problems etwas näher zu erläutern: Die HTC-Synchronisierung wird mit einem eigenen ADB-Server geliefert. Außerdem wird Ihre Umgebungsvariable PATH aktualisiert, um auf die Version des Servers zu verweisen. Bearbeiten Sie die Variable PATH und entfernen Sie den Verweis auf die HTC Sync-Verzeichnisse. Jetzt verwenden Sie wieder ADB von Google.


1
Dieses Problem ist in meinem Mac OS-X Apple-Gerät.
Ritesh Kumar Singh

4
HTC Sync war das Problem. Es läuft kontinuierlich im Hintergrund und verursacht Konflikte mit adb.exe
rharvey

LG AirBridge hat das Problem für mich verursacht - das zu deinstallieren und dann zu laufen hat adb start-serverfunktioniert.
Jamsandwich

1
Als Entwickler benötige ich die HTC USB-Treiber, die im Lieferumfang des HTC Sync Manager enthalten sind. Dies ist der einzige Fall für Windows 10, das von mir verwendete Betriebssystem. Nach der Installation wird HTC Sync ausgeführt und kontinuierlich im Hintergrund ausgeführt. Sie möchten die Registerkarte Task-Manager> Dienste öffnen und dann die Hintergrundaufgabe HTCMonitorService deaktivieren. Dies verhindert, dass HTC Sync mit Google ADB in Konflikt steht, und verhindert, dass Google ADB abstürzt, wenn HTC-Geräte an den PC angeschlossen werden.
tom_mai78101

28

Ich muss den Server gelegentlich explizit manuell beenden und neu starten:

adb kill-server
adb start-server

Dieser Schock reicht im Allgemeinen aus, um ihn wieder auf die Beine zu bringen, und verhindert wiederholte adb server is out of date. killing...Meldungen.


Töten und Neustarten scheint für mich funktioniert zu haben; Jetzt erhalte ich jedoch die Fehlermeldung "Fehler: mehr als ein Gerät und ein Emulator", wenn ich dies tue: "adb tcpip 5555" gemäß den Anweisungen der akzeptierten Antwort.
jay_t55

In meinem Fall werden mehrere Prozesse von adb ausgeführt, sodass ich mehrere Aufrufe durchführe, adb kill-serverbis "Daemon läuft nicht ..."
mr5

22

Stellen Sie sicher, dass keine anderen ADB-Prozesse ausgeführt werden

Auf dem System wird möglicherweise mehr als ein ADB-Prozess ausgeführt. Tools wie Android Reverse Tether verwenden möglicherweise eine eigene Version des ADB-Tools. Daher kann die Version im Speicher mit der über die Befehlszeile (über die Pfadvariable) ausgeführten Version in Konflikt stehen.

Windows

In Windows drücken Sie CTL+ Shift+ für ESCden Zugriff Task - Manager, sortiert in der Bildnamen Spalte, tötet dann alle Instanzen adb.exedurch einen Rechtsklick und die Auswahl Prozess beenden . Beachten Sie, dass es mehrere Beispiele für adb.exeFolgendes gibt:

Mehrere adb.exe-Instanzen - wie man tötet

Linux (Android)

Verwenden Sie in einer Linux-Umgebung einfach den kill -9Befehl. So etwas funktionierte auf einem Android-Gerät, das ausgeführt wird adb( psAusgabe verwenden, nach grepeinem Prozess suchen, der mit beginnt adb, die Prozess-ID von den adbProzessen abrufen und diese ID an den kill -9Befehl senden ):

kill -9  $(ps  | grep "S adb" | busybox awk '{print $2}')

Starten Sie dann adb neu

Sobald die adbProzesse - und damit Konflikte - gelöst sind, wiederholen Sie adbden Vorgang erneut über die Befehlszeile:

adb start-server

In meinem Fall stellte ich fest, dass eine andere Instanz von adb als Teil von GapDebug ausgeführt wurde. Das Stoppen von GapDebug, das Beenden des laufenden ADB-Prozesses und das Aufrufen des Start-Servers ./adb in ~ / Library / Android / sdk // Plattform-Tools haben das Problem behoben.
Gwened

20

Auf meinem Computer (Ubuntu 14.04 und Genymotion 2.5.2) war die Ursache des Problems, dass ich 2 ADB-Dateien verschiedener Versionen hatte.

(Zuvor hatte ich, um diese Problemquelle einzugrenzen, Genymotions Einstellungen> "Benutzerdefinierte Android SDK-Tools verwenden", die sich auf das auf meinem Computer installierte Android SDK-Verzeichnis beziehen, wie von Aditya Kresna Permana empfohlen. Ich habe auch versucht, den ADB-Server und einige andere zu beenden und zu starten Lösungen aus dem Internet).

Dann sah adb versionich , dass aus meinem Android SDK-Installationsverzeichnis "~ / Android / Sdk / platform-tools" "Android Debug Bridge Version 1.0.32"

Der adb versionBefehl aus dem Verzeichnis "/ usr / bin" wurde jedoch erstellt - "Android Debug Bridge Version 1.0.31".

Also einfach folgen - http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb , um die ADB in "/ usr / bin" zu aktualisieren.

# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32

Und jetzt adb devicesfunktioniert das Laufen wie erwartet.

Außerdem wurde das damit verbundene Problem gelöst, dass meine PhoneGap (Cordova) -App nicht in das virtuelle Gerät von Genymotion integriert wurde. Jetzt ist natürlich auch dieses Problem gelöst.


Ich danke dir sehr. Hat mir Zeit gespart. Dieser funktioniert perfekt auf Ubuntu 14.04. Möchten Sie wissen, wie Sie die wget-URL von adb erhalten haben? @ Rohan_Paul
Akbar Sha Ebrahim

Ich bekomme das jetzt: Bash: / usr / bin / adb: Keine solche Datei oder Verzeichnis
Tushar Saha

17

Dies liegt daran, dass Sie eine andere als die im SDK enthaltene ADB ausführen. Wenn unter Linux, überprüfen Sie, wo sich die ADB-Binärdatei befindet

which adb
Expected Output : ANDROID_SDK/platform-tools/adb

Wenn Sie nicht auf ANDROID_SDK / platform-tools / adb verweisen, wird eine alte Version von adb ausgeführt, die an einem anderen Speicherort auf dem Computer installiert ist.

Es ist nichts Falsches daran, adb anders als das mit SDK gelieferte auszuführen, aber der Nachteil ist, dass es nicht automatisch aktualisiert wird, wenn das Android SDK aktualisiert wird, und deshalb stoßen Sie auf dieses veraltete Versionsproblem.

Um dieses Problem einfacher zu beheben und in Zukunft zu vermeiden, benennen Sie die ältere (irreführende) ADB-Binärdatei in etwas anderes um.

Befolgen Sie die Schritte, um dieses Problem zu beheben.

$ which adb
*o/p /usr/bin/adb  -   (output will depend on your machine)*
$ cd /usr/bin/
$ ls -lt | grep adb
*o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb*
$ sudo mv adb adb_bakup
$ ls -lt | grep adb
o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb_bakup
$ export PATH="/path/to/android_sdk/platform-tools:$PATH"
$ which adb  
*o/p <your android sdk dir>/platform-tools/adb*   ---> You are all good now

Ich habe dies von meinem Mac aus versucht. Es sagt mir nur, dass ich keine Erlaubnis habe, den Namen zu ändern.
Jay Smoke

Sie benötigen das Administratorrecht, um einen Verzeichnisnamen unter / usr zu ändern.
Akh

Ich habe mich als root angemeldet und konnte es immer noch nicht ändern.
Jay Smoke

Tolle Lösung, ich hatte einen ADB-Symlink zu ../ Cellar / ..., und selbst wenn die letzte ADB-Version mit dem SDK-Manager heruntergeladen wurde, wurde ein guter Pfad festgelegt, um das veraltete Problem zu beheben
Luidgi Gromat

15

Ich habe gerade HTC Sync beendet, es erneut versucht und es hat funktioniert. Hinweis: Das Telefon wurde schwarz (gesperrt), ich habe es gerade eingeschaltet und meine Anwendung wurde ausgeführt. :) :)


Ich hatte das gleiche Problem mit ZTE Sync, ich habe es entfernt und meine Geräte wurden angezeigt.
Ovejaexiste

11

System: Windows 10

Mein Problem : Das Festlegen von Genymotion auf das benutzerdefinierte SDK hatte keine Auswirkungen. Ich erhielt immer noch die:

Projekt konnte unter Android nicht gestartet werden : Smartsocket- Listener konnte nicht installiert werden : Kann nicht an 127.0.0.1:5037 gebunden werden : Normalerweise ist nur eine Verwendung jeder Socket-Adresse (Protokoll / Netzwerkadresse / Port) zulässig. (10048) konnte nicht OK von ADB Server lesen * Daemon konnte nicht gestartet werden * Fehler: Verbindung zum Daemon nicht möglich

Was ich entdeckte, war, dass es einen Unterschied in den ADB-Versionen gab, die im gesamten System verwendet wurden. Hier ist der Befehl, mit dem ich sie gefunden habe:

where /r C:\ adb.exe

Dies ergab die Ergebnisse:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe

Zu jedem Verzeichnis navigieren und ausführen:

adb.exe version

Ich durfte sehen, dass auf der Expo die ADB-Version ausgeführt wurde:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

Während Genymotion mit dem benutzerdefinierten SDK die Version hatte (c: \ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

Als Test habe ich die adb-Dateien (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) von genommen

c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe

und legte sie in einen Sicherungsordner. Ich habe dann die ADB-Dateien verschoben, die sich unter befinden

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

in den gleichen Ort. Ich habe adb getötet mit:

adb kill-server

Dies führte automatisch zu einem Neustart des ADB-Servers, da mein Genymotion-Gerät bereits ausgeführt wurde. Ich drückte auf die Schaltfläche "Neustart" in der Expo XDE und es begann sofort zu funktionieren. Hier ist das Protokoll, in dem ich um 01:13:04 Uhr auf die Schaltfläche zum Neustart geklickt habe:

12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).

Schlussfolgerung : Genymotion und Expo müssen möglicherweise dieselbe Version von adb verwenden, damit Expo ordnungsgemäß mit dem simulierten Gerät kommunizieren kann. Wenn Sie Genymotion auf Ihren Android SDK-Standort verweisen und sicherstellen, dass Expo XDE dieselbe Version hat, können Sie korrekt zwischen Geräten kommunizieren. Ich habe die Expo XDE-Version an den SDK-Speicherort verschoben, aber Sie können möglicherweise auch in die andere Richtung gehen (nehmen Sie die SDK-ADB-Dateien und platzieren Sie sie am Speicherort der Expo XDE-Ressource).

PS: Ich habe alle Stackoverflow-Beiträge zu diesem Problem durchgesehen. Nur damit ihr wisst, dass mein Task-Manager drei Instanzen von adb.exe anzeigt. Wenn Sie einen von ihnen töten, kommen sie einfach zurück.

Hoffe das hilft / jubelt


1
Dies löste mein erstes Problem nach einigen Stunden (danke Kumpel). Das nächste Problem war, dass das emulierte Gerät nicht autorisiert war (ADB-Geräte), was weniger Zeit für die Lösung benötigte.
Jonathan

8

Es scheint, dass der ADB-Dämon auf dem Gerät (adbd) nicht mit dem ADB-Serverprozess auf Ihrem Host-Computer übereinstimmt, welche Version des Protokolls sie sprechen. Welche Version des SDK führen Sie aus und wie lautet die Betriebssystemversion auf dem Gerät, das Sie debuggen?

Möglicherweise müssen Sie Ihre Version der SDK-Tools herunterstufen, damit ADB-Daemon und -Prozess übereinstimmen. Ich dachte, der Serverprozess sei vollständig abwärtskompatibel, aber dies könnte einer der Eckfälle sein, in denen dies nicht der Fall ist. Google macht keine Werbung dafür, dass Sie die alten SDK-Toolpakete erhalten können. Sie finden sie jedoch im Archivbereich unter http://developer.android.com .


1
Auf welche Version würden Sie mir ein Downgrade empfehlen?
Arunabh Das

Welches Gerät verwenden Sie und welche Betriebssystemversion läuft darauf? Ich denke nicht wirklich, dass ein Downgrade notwendig sein sollte, da dies im Allgemeinen nicht notwendig ist, aber wie ich bereits sagte, könnte dies ein Eckfall sein. SDK r10 wurde erst diese Woche und r9 erst vor ungefähr einem Monat veröffentlicht. Wenn das Problem kürzlich eingeführt wurde, sollte r7 eine stabile Basis bieten, die bis zum letzten Sommer zurückreicht. Sie finden diese früheren Versionen unter developer.android.com/sdk/tools-notes.html . Viel Glück
Eric Cloninger

Betriebssystemversion auf Gerät = 2.2 und SDK = 10
Arunabh Das

Dies ist keine Versionsinkongruenz zwischen adbdund adb server, sondern zwischen adb serverund adb client(beide laufen auf dem PC)
Alex P.

6

Ich habe einen schnellen Weg, es zuerst zu tun

sudo rm /usr/bin/adb

Dann

sudo ln -s /home/{{username}}/Android/Sdk/platform-tools/adb  /usr/bin/adb

Der schnellste Weg, um das Problem zu beheben


7
Ich kann nicht glauben, dass ich das gleiche Problem hatte und ich kam, um die Antwort wieder von mir zu bekommen
Ian Samz

Dies ist wirklich der schnellste Weg !! Vielen Dank!
Abbas

5

Ich habe einfach die HTC-Synchronisierungsanwendung vollständig geschlossen und es erneut versucht. Es funktionierte wie es sollte.


5

Ich schlug meinen Kopf gegen die Wand. Dies begann, als ich die neueste Version von HTC Sync (3.0.5579) installierte. Aus irgendeinem Grund wurde adb.exe mehrmals im Task-Manager angezeigt und ich habe festgestellt, dass der adb-Server mehrmals veraltet ist und Fehler beendet. Ich habe die adb.exe-Version im HTC-Synchronisierungsverzeichnis und im Android SDK-Plattform-Tools-Verzeichnis gefunden. Ich hatte das Pfad-Setup korrekt auf das Android SDK-Verzeichnis und sah den HTC Sync-Pfad nicht (vielleicht fehlte mir etwas, aber ich glaube nicht). Um das Problem zu beheben, habe ich die Datei adb.exe im HTC Sync-Verzeichnis einfach umbenannt und alles hat wieder funktioniert. Dies ist möglicherweise nicht der richtige Weg, um dieses Problem zu beheben, aber es hat bei mir funktioniert.


5

Hat mir geholfen: Stoppen Sie HTC Sync (in der Taskleiste) und benennen Sie die adb.exe von HTC um (C: \ Programme (x86) \ HTC \ HTC Sync 3.0 \ adb.exe).


5

System: Windows 7, Android Studio.

Dieser Fehler trat auf, als ich über die adb devicesWindows-Befehlszeile ausgeführt wurde.

Die Hauptursache war, dass die ADB, die ich über die Befehlszeile ausführte, nicht dieselbe ADB war, die unter Android Studio ausgeführt wurde.

Lösung:

  1. Beenden Sie zuerst alle laufenden ADB-Prozesse auf dem Computer.

    taskkill /F /IM adb.exe

  2. Führen Sie Ihre App von Android Studio aus.

  3. Suchen Sie den genauen Dateispeicherort von adb.exe entweder im Windows Task-Manager oder indem Sie den folgenden Befehl ausführen

    wmic process where "name='adb.exe'" get ProcessID, ExecutablePath

  4. Führen Sie where adban der Windows-Eingabeaufforderung aus, um die ADB zu suchen, die an der Eingabeaufforderung ausgeführt wird. Dieser Pfad würde sich von dem in Schritt 3 oben unterscheiden.

  5. Bearbeiten Sie die Windows-Systemvariable PATH. Löschen Sie den in Schritt 4 gefundenen Basispfad.

  6. Nachdem Sie PATH bearbeitet haben, können Sie den aktuellen Inhalt dieser Variablen anzeigen, indem Sie den folgenden Befehl in eine NEUE Eingabeaufforderung eingeben (verwenden Sie keine alte Eingabeaufforderung.)

    echo %PATH%

Führen Sie nun adb an der Eingabeaufforderung aus. Es sollte KEIN "Server veralteter Fehler" angezeigt werden!


4

Versuche dies:

  1. Schließen Sie die Eclipse-Anwendung.

  2. adb kill-server

  3. Starten Sie Eclipse neu.


4

Schließen Sie zuerst alle Dinge, die ADB verwenden. (Android Studio, Eclipse, Emulator (auch Bluestack)) und dann

adb kill-server
adb start-server

In meinem Fall habe ich gerade ein Update von Studio bekommen.


4

Ich erlebte ein ähnliches Problem , wo meine Versuche zu verwenden , adbwie adb logcatvorgesehen diesen Fehler ausgegeben:

adb server version (40) doesn't match this client (36); killing...

Diese Lösung funktionierte 2018 für mich unter Ubuntu 18.04 von Android Studio 3.2.1 mit Terminal.

Die Befehle lauten wie folgt:

adb kill-server sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb sudo chmod +x /usr/bin/adb adb start-server

Möglicherweise müssen Sie die cpBefehlsargumente basierend auf dem Pfad zu Android/auf Ihrem System anpassen .

Ein großes Lob an meine Quelle: https://stackoverflow.com/a/40991118/7015599


1
Ich konnte etwas Ähnliches tun, ohne / usr / bin / adb zu ersetzen. Ich habe einen Alias ​​in bash_aliases -> alias adb = '~ / Android / Sdk / platform-tools / adb' gesetzt. Quelle .bashrc und gut zu gehen.
James

2

Okay, es gibt eine weitere Instanz von adb.exe, die mit "Lenovo Photo Companion" vertrieben wird. Ein Freund von mir hat ein Lenovo Yoga Notebook und hatte diese Software installiert, die eine weitere adb.exe enthielt

Durch die Deinstallation wurde das Problem behoben.


2

Betriebssystem: Ubuntu

Es laufen mehr als 1 ADB. Überprüfen Sie die aktuelle Anzeige:

    which adb
    Expected Output : ANDROID_SDK/platform-tools/adb

Normalerweise ist das Ergebnis:

    /usr/bin/adb

Löschen Sie diese ältere Version durch:

    cd /urs/bin
    sudo rm adb

1

Haben Sie versucht, das SDK Version 8 zu verwenden? Da sich das Gerät in Version 2.2 befindet und Ihr SDK auf 10 eingestellt ist, liegt möglicherweise ein Konflikt vor.

Viel Glück bei deinen Herabstufungsbemühungen !! Hoffe das löst sich.


1

Wenn es sich bei dem Gerät, mit dem Sie interagieren möchten, um ein physisches Telefon handelt, das über USB angeschlossen ist, können Sie es ausstecken und wieder einstecken, und es sollte funktionieren. Manchmal ist es einfach nicht mehr synchron, denke ich.


1

Ich hatte dieses Problem auf einem meiner Entwicklungscomputer (alle führen Windows 7 x64 aus), während die ADB aller anderen Computer normal funktionieren. Der Grund, warum ich auf dieses Problem gestoßen bin, ist, dass ich eine alte Version von adb.exe in % android-sdk% \ tools habe, während neuere Android SDKs adb.exe unter % android-sdk% \ platform-tools haben

Entfernen Sie die ältere adb.exe aus% android-sdk% \ tools und fügen Sie% PATH%% android-sdk% \ platform-tools hinzu, um dieses Problem zu beheben

oder allgemeiner: Suchen Sie nach veralteten ADB-Dateien in Ihrem Pfad, die veraltet sind. Verwenden Sie einfach die neueste Version, die mit dem Android SDK bereitgestellt wird


1

Ich habe alle Antworten auf SO durchgesehen und es hat bei mir nicht funktioniert. Als ich den Prozess adb.exe im Task-Manager beendet habe, wurde er immer wieder geöffnet. Der Grund dafür war, dass Droid Explorer im Hintergrund arbeitete .

Das Beenden des DE-Prozesses über den Task-Manager und das anschließende Beenden von adb.exe (und das erneute Ausführen von der Konsole über 'adb start-server') hat bei mir funktioniert.

Dies kann für viele Personen nützlich sein , die ihre Geräte gerootet haben .


Das war die Lösung für mich. Stellen Sie End process treeim Task-Manager für den Droid Explorer-Dienst sicher .
Jason

1

Leider habe ich noch nicht genug Ruf, um einen Kommentar abzugeben. Aber die als Antwort gekennzeichnete Antwort hat mich in die richtige Richtung geschickt.

Ich habe in meinem Pfad nichts im Zusammenhang mit HTC Sync Manager gesehen, obwohl ich es installiert hatte. Ich arbeite zurzeit nicht mit meinem HTC-Gerät und habe nur den Synchronisierungsmanager installiert, um bei Treiberproblemen zu helfen. Nach der Deinstallation des HTC Sync Managers ist dieses Problem für mich behoben.

Hoffe das hilft jemand anderem.


1

In meinem Fall wurde das Problem durch Virtuous Ten Studio verursacht, dessen External/ADBVerzeichnis die Datei adb.exe enthält .

Geh dorthin und renne .\adb.exe kill-serverund du wirst gut sein.


1

Dies wurde in meinem Fall durch das Ausführen von Visual Studio mit einem Android Xamarin-Projekt auf demselben Computer wie Android Studio verursacht - auf jeder IDE wurde eine andere ADB-Serverversion ausgeführt. Ich habe Visual Studio geschlossen und der Fehler ist verschwunden.


0

Wie oben erwähnt, liegt das Problem an einer widersprüchlichen Version von adb.exe, die mit HTC Sync geliefert wird . Das Entfernen aus PATH hilft nicht weiter, da htcUPCTLoader.exe , das ständig im Hintergrund ausgeführt wird, immer noch die falsche ADB-Version neu startet.

Eine Lösung wäre, adb.exe vollständig aus dem HTC Sync-Ordner zu entfernen. Dies würde jedoch HTC Sync beschädigen .

Ich habe gerade ein einfaches Tool codiert , das die alte adb.exe durch einen Stub ersetzt, der die neueste adb.exe aus dem SDK-Verzeichnis aufruft, um die Konflikte zu beseitigen (z. B. Version 1.0.25 mit HTC Sync und 1.0.29 mit Android SDK). .

ADB Fixer Tool

Das Tool kann von http://visualgdb.com/adbfix heruntergeladen werden


0

Ich hatte heute auch dieses Problem. Es stellte sich heraus, dass ich meine Netzwerktreiber deaktiviert habe, weil ich Probleme mit WIFI / LAN hatte. Durch erneutes Aktivieren wurde das Problem behoben


0

Installation von SDK-Updates (einschließlich Plattform-Tools) für mich behoben!


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.