Fehler "Die Verbindung zu adb ist unterbrochen und ein schwerwiegender Fehler ist aufgetreten."

289

Ich habe Tage damit verbracht, ein Android-Programm zu starten. Sogar "Hallo Welt" gibt mir den gleichen Fehler:

"Die Verbindung zu adb ist unterbrochen und ein schwerwiegender Fehler ist aufgetreten."

Ich verwende Eclipse v3.5 (Galileo), Google APIs 2.2.8, auf einem Windows XP-Computer.

Ich habe alle Tricks verwendet, die ich im Web finden kann: die Befehlszeile "adb kill-server", das DDMS "ADB zurücksetzen", ich habe den Emulator sowohl vor als auch nach Eclipse gestartet und nach Ports gesucht, die von anderen Programmen verwendet werden .

Was geht hier vor sich? Gibt es eine magische Kombination von Versionen von Eclipse, Java, ADB, Emulator und was auch immer sonst noch funktioniert?

Ted Betz
quelle
2
Wird Ihr Emulator im Gerätebefehl angezeigt? -# adb devices
Adam Harte
Wenn Sie nur Android-Entwicklung betreiben, möchten Sie möglicherweise nur Motodev für Android herunterladen. Dann ist das alles für Sie vorkonfiguriert.
Jim
Ich bin mit dem Gerätebefehl nicht vertraut. Ich sehe Google APIs als AVD im Fenster "Android SDK & AVD Manager" und kann sie auch von dort aus starten.
Ted Betz
Ich habe den Befehl adb Geräte ausgeführt und "Fehler: Schreibfehler während der Verbindung" erhalten.
Ted Betz
Vielen Dank an Jim für das Heads-up auf der Motodev-Website. Sie machen es sehr einfach, alle Pakete zu installieren. Es besteht jedoch das gleiche Problem. Ich denke, es ist dieselbe Eclipse mit derselben instabilen ADB. Jede Hilfe wird sehr geschätzt. Ich bin am dritten Tag dieses Problems.
Ted Betz

Antworten:

533

Versuchen Sie die folgenden Schritte:

  1. Schließen Sie Eclipse, wenn Sie ausgeführt werden
  2. Wechseln Sie in der Eingabeaufforderung zum Verzeichnis der Android SDK-Plattform-Tools
  3. Typ adb kill-server( Eclipse sollte geschlossen sein, bevor diese Befehle ausgegeben werden )
  4. Geben Sie dann ein adb start-server
  5. Beim Starten des ADB-Servers wird keine Fehlermeldung ausgegeben, dann wird ADB erfolgreich gestartet.
  6. Jetzt können Sie Eclipse erneut starten.

So hat es bei mir funktioniert.

Starten Sie auch Ihr Telefon neu!

Guna
quelle
19
auf dem mac war es etwas einfacher, ich ging zu den verzeichnis-tools in Android sdk. Dann klicke ich auf adb file und starte die Eclipse erneut.
Adeem Maqsood Basraa
27
Adb wurde von / tools / nach / platform-tools / verschoben
Gabriël
18
Das hat mir nicht geholfen. Ich habe den 'ADB-Server hat nicht bestätigt'. Der Neustart des Computers hat geholfen;)
Lomza
15
Als ich den ADB-Startserver ausgeführt habe, wurde eine Fehlermeldung angezeigt: Der ADB-Server hat nicht bestätigt. Daemon konnte nicht gestartet werden.
IgorGanapolsky
52
Ok, ich habe mein Problem gelöst. Ich gehe zum Task-Manager in Windows 7 -> Prozesse -> wähle die adb.exe -> Prozess beenden. Danach gehe ich zur cmd Eingabeaufforderung und gebe adb start-server ein. Diesmal wurde adb erfolgreich bewertet. Ich habe Eclipe ausgeführt und es wurde kein Fehler angezeigt.
Nishant
106

Verwenden:

Öffnen Sie den Task-Manager → Prozesse → adb.exe → Prozess beenden → Eclipse neu starten

Das hat bei mir funktioniert.

Und:

Öffnen Sie den Task-Manager → Prozesse → eclipse.exe → Prozess beenden → Eclipse neu starten

Peter Mortensen
quelle
6
Das hat bei mir funktioniert. adb kill-server in der Kommandozeile hat es nicht für mich getan.
Brandon O'Rourke
2
Vielen Dank. Dies ist der einzige Weg, der für meinen Fall funktioniert (Eclipse: Indigo, Betriebssystem: Win7 64-Bit)
Hong
In meinem Task-Manager wird kein Prozess mit dem Namen "adb.ext" angezeigt. Der Emulator läuft jedoch.
Kumar Kush
"adb.exe" ... durchsucht es in laufenden Prozessen ..nicht im geöffneten Windows-Bereich im Task-Manager.
Usama Sarwar
1
Diese Methode hat bei mir auch bei der Verwendung von Eclipse Juno funktioniert. Vielen Dank
Gaurav Schneider
24

Öffnen Sie den Windows-Task-Manager, beenden Sie den Prozess mit dem Namen adb.exe und starten Sie Ihr Programm neu.

joseph_morris
quelle
Ich sehe, dass Sie hier ein neuer Benutzer sind. Antworten mit großen grünen Schecks bedeuten, dass die Person sie akzeptiert hat. Stellen Sie beim Hinzufügen von Antworten zu einer Frage mit einer akzeptierten Antwort sicher, dass Ihre Antwort einen wesentlichen Unterschied aufweist, sei es die Klarheit der Erklärung, des Details oder des Ansatzes. Ich hoffe, Sie genießen Ihren Aufenthalt hier!
Jason D
4
Vielen Dank. Mein Ansatz hier besteht nicht darin, Eclipse neu zu starten (schneller), das ADB SDK-Tools-Verzeichnis an einer Eingabeaufforderung zu suchen und zwei Befehle einzugeben (ebenfalls schneller). Mit anderen Worten, es ist ein Schritt anstelle der ursprünglichen sechs. Trotz der Akzeptanz einer Antwort durch das Originalplakat hielt ich diesen Ansatz für eine hinreichend wesentliche Ergänzung (zumindest für Benutzer von Windows), um eine Veröffentlichung zu rechtfertigen.
Joseph_Morris
1
Die akzeptierte Antwort hat nicht funktioniert, das hat funktioniert, danke - Eclipse "Indigo" win7
Mikey G
Mit "Programm neu starten" meinen Sie damit, Eclipse neu zu starten oder die Android-Anwendung, die ich in Eclipse schreibe, erneut auszuführen?
Trost
12

[2012-07-04 11:24:25 - Die Verbindung zu adb ist unterbrochen und ein schwerwiegender Fehler ist aufgetreten.
[2012-07-04 11:24:25 - Sie müssen adb und Eclipse neu starten.
[2012-07-04 11:24:25 - Bitte stellen Sie sicher, dass sich adb korrekt unter '/ home / ASDK / platform-tools / adb' befindet und ausgeführt werden kann

Ich stellte fest, dass der Ordner des Projekts in Eclipse geschlossen war. Ich habe das Verzeichnis erweitert und das Projekt gestartet. Ich weiß, das klingt vielleicht wie ein Kinderspiel. Ich hatte die .java-Dateien im Arbeitsbereich geöffnet, und das war genug, um mich glauben zu lassen, dass das Projekt geöffnet war.

Benutzer1477736
quelle
10

Ich habe dies mit Eclipse Juno versucht und es hat gut funktioniert:

  • Wählen Sie in der Dropdown-Liste des Symbols Ausführen die Option Konfiguration ausführen aus.
  • Stellen Sie sicher, dass Ihr Projekt ausgewählt ist
  • Gehen Sie zur Registerkarte Android
  • Wählen Sie im Abschnitt Aktion starten die Option Start aus. Wählen Sie den Paketnamen und voila! Versuchen Sie, Ihre Anwendung auszuführen.

UPDATE: Es hilft auch, den Prozess adb.exe vom Task-Manager abzubrechen und neu zu starten. adb.exe finden Sie hier: Android \ android-sdk \ platform-tools.

Viel Glück

Norwin
quelle
7

Aktualisieren Sie Ihre Eclipse Android-Entwicklungstools. Es hat bei mir funktioniert.

jwanga
quelle
6

Stellen Sie sicher, dass es nicht in den Task-Manager-Prozessen ausgeführt wird. Wenn ja, beenden Sie den Vorgang und starten Sie ihn an einer Eingabeaufforderung wie in einer vorherigen Antwort. Das hat bei mir funktioniert.

Peter Mortensen
quelle
1
Bitte achten Sie auf das Datum der ursprünglichen Frage. Diese Frage wurde vor über einem Jahr mit einer akzeptierten Antwort beantwortet.
AJ.
4

In meiner Situation: Ich habe die gleiche Warnung: Die Verbindung zu adb ist unterbrochen und ein schwerwiegender Fehler ist aufgetreten

Ich habe die Lösung gefunden:

Die adb.exe wurde verschoben von: android-sdk-windows\tools\adb.exenach android-sdk-windows\platform-tool\adb.exe.

Einzige Sache. Datei verschieben adb.exenach \tools. Und starten Sie Eclipse neu.

maydenec
quelle
4

Ich weiß, dass diese Frage bereits beantwortet wurde, dachte aber, ich könnte hinzufügen, dass ich das Problem als Ordnerberechtigung für mein android-sdkVerzeichnis empfunden habe .

Ich habe es getestet, indem ich allen die volle Kontrolle gewährt habe (zwielichtig, ich weiß ...), und das Problem ist verschwunden. Ich bin mir noch nicht sicher, nach welcher spezifischen Mischung von Berechtigungen gesucht werden könnte, aber ich gehe davon aus, dass einige oder andere Dienste in Eclipse keine Ausführungsberechtigungen für adb.exe hatten. Das heißt, ich bin ein absoluter Neuling - wollte es nur veröffentlichen, falls jemand anderes Einblicke in dieses Thema hat.

Ich verwende Windows 7, 64-Bit, 4.2.0 Eclipse und 20.0.0v201206242043 ADT.

Peter Mortensen
quelle
4
  1. Wechseln Sie zu dem Ordner platform-toolsin den cmdOrdnerplattform-Tools, die im Android-Ordner verfügbar sind, in dem Sie Android-Sicherungsdateien haben.

  2. Geben Sie Folgendes ein

    adb kill-server

    und

    adb start-server

    Geben Sie dann ein

    adb devices
    
    adb kill-server

Sie können jetzt Ihr Gerät sehen.

Yasin JamesBond
quelle
3

Dieses Problem hat mich seit Tagen geplagt, bis ich endlich herausgefunden habe, was es verursacht hat. Es wurde so schlimm, dass ich meine Apps nicht einmal aktualisieren konnte, obwohl ich alle oben genannten Vorschläge ausprobiert hatte.

HTC Sync führt auch einen Prozess namens adb.exe aus. HTC Sync ist ein optionales Programm, das bei der Installation des HTC USB-Treibers verfügbar ist. Ich hatte kürzlich meine Installation des HTC-Bundles aktualisiert und anscheinend noch nie zuvor HTC Sync installiert. Durch Überprüfen der Eigenschaften von adb.exe im Task-Manager wurde festgestellt, dass diese zu HTC Sync und nicht zu Android gehören.

Sobald ich HTC Sync über das Bedienfeld deinstalliert habe, ist das Problem verschwunden! (Es ist separat vom USB-Treiber aufgeführt, damit es erhalten bleibt.) Ich habe nie mehr als eine Instanz von adb.exe ausgeführt. Ich bin gespannt, ob Leute den Prozess über den Task-Manager beenden müssen. Überprüfen Sie, ob es sich tatsächlich um den Android-Prozess handelt, den Sie beenden.

Bitte lesen Sie die Benutzerkommentare (auch ich habe ein HTC Thunderbolt): http://www.file.net/process/adb.exe.html

Mike Ludwig
quelle
2

Gehen Sie einfach hinein Task Manager(Windows-Benutzer) und töten Sie das abd.exe(es bleibt irgendwie aktiv). Nach diesem Start Eclipse.

Der Fehler

"Die Verbindung zu adb ist unterbrochen und ein schwerwiegender Fehler ist aufgetreten."

geschah nach der Installation des Plugins für Android von Netbeans. Nach dem Schließen von Netbeans abd.exeblieb der Prozess aktiv. Wenn Sie erneut starten möchten, Eclipsewird der Fehler angezeigt.

Sie müssen das manuell beenden adb.exeund dann starten Eclipse.

Es hat bei mir funktioniert.

dan andi
quelle
2

Ich hatte die gleichen Probleme und es stellte sich heraus, dass mein Antivirenprogramm (Comodo) die adb.exe sandboxte, und deshalb funktionierte es nicht. Ich habe das Antivirenprogramm geschlossen und es hat einwandfrei funktioniert. Berücksichtige das.

Catalin Stan
quelle
1

Mein Problem war, dass meine Firewall ADB daran hinderte, sich an den gewünschten Port zu binden.

Sean Fujiwara
quelle
1

Ich hatte das gleiche Problem

  1. Ich habe den Task-Manager aufgerufen -> adb.exe finden -> Prozess beenden
  2. Wechseln Sie in das Verzeichnis der Android SDK-Tools in der Eingabeaufforderung und doppelklicken Sie auf adb.exe

Das ist alles

George Miro
quelle
1

Ich verwende Eclipse Neon2. Unter Mac OS 10.12.4 trat dieses Problem auf, nachdem ich kürzlich mein Android SDK auf die neuesten "SDK-Tools" (Version 25.2.5), "Plattform-Tools" (Version 26) und "Build Tools" (Version 26) aktualisiert und verschoben hatte eines meiner Entwicklungsprojekte für Android Studio.

Leider hat keine der vielen Antworten hier für mich funktioniert.

Was tat der Arbeit war es, eine schaffen getrennte Kopie des Android SDK in einem anderen Ordner und dann Mondfinsternis , um es über „Einstellungen -> Android“. Sie müssen eine ältere Version des SDK verwenden, wie in dieser SO-Antwort angegeben .

Nachdem Sie die separate Version des SDK heruntergeladen und in einem anderen Ordner als Ihr Haupt-Android-SDK abgelegt haben, starten Sie den SDK-Manager (über <separate-sdk>/tools/android) und installieren Sie die erforderlichen Versionen "Plattform-Tools", "Build-Tools" und Android. Hier sind jedoch zwei wichtige Dinge zu beachten:

  1. Stellen Sie sicher , dass Sie nicht aktualisieren Sie Ihre „SDK Tools“ über die Version , die bereits installiert ist!

  2. Stellen Sie sicher, dass Sie eine Version der "Build-Tools" installieren, die kleiner als 26 ist!

Andernfalls kann dieses Problem auftreten .

rsp1984
quelle
1
  1. Wechseln Sie in den Tools-Ordner Ihres Android SDK
  2. Lauf emulator.exe -avd <your avd> . Es wird einige Zeit dauern, bis der Emulator ausgeführt wird.
  3. Sobald Sie den Homescreen auf Ihrem Emulator sehen, öffnen Sie Eclipse und führen Sie Ihr Programm erneut aus ...
Peter Mortensen
quelle
1

Ich hatte ein ähnliches Problem. Ich fand heraus, dass eine andere adb.exe ausgeführt wurde, die von BirdieSync (Sync Tool for Thunderbird) gestartet wurde. Ich habe es mit Process Explorer herausgefunden von Sysinternals herausgefunden, dass Windows eine andere inkompatible adb.exe ausführt. Setzen Sie einfach den Mauszeiger über den Prozess (im Prozess-Explorer) und Sie werden sehen, welche adb.exe gestartet wird.

Ich musste auch den BirdieSync-Prozess beenden, da er erneut die falsche adb.exe startete.

Dann könnte ich die richtige adb.exe starten und es hat gut funktioniert.

JohnBoy
quelle
Ich habe jetzt den Punkt über Stackoverflow verstanden: Ich bin wirklich zu spät und die Frage ist bereits als "gelöst" markiert. Aber es hat mir geholfen, meinen Fehler zu finden und ich wollte auch helfen. Besseres Glück beim nächsten Mal!
JohnBoy
1

Das Töten der mysteriös laufenden abd.exe hat funktioniert. Diese plötzliche Straßensperre hat mich lange aufgehalten. Ich habe alle möglichen Befehlszeilenaufgaben ausgeführt und das Schlosssymbol aus meinem Benutzerordner entfernt, aber nichts hat funktioniert, bis Sie einfach vorgeschlagen haben, in den laufenden Prozessen des Task-Managers nach dem Abd zu suchen und es zu beenden.

Ein weiteres Hindernis für Neulinge, auf das ich eine Antwort gefunden habe: Führen Sie Eclipse nicht aus, wenn eine andere Datei als die Haupt-Java-Datei aktiv ist. Wenn Sie es ausführen, wenn beispielsweise die Datei main.xml aktiv ist, erhalten Sie nicht hilfreiche Fehlermeldungen, eine ungerade Datei, die wie main.xml.out erstellt wurde, und sie wird nicht ausgeführt.

Michael
quelle
1

Ich fand, dass der Pfad des SDK (Einstellungen * → AndroidSDK-Speicherort ) die Ursache war. Mein SDK-Pfad war folgender:

C:\Program Files (x86)\Android\android-sdk

Die Leerzeichen im Pfad sind das Problem. Damit es funktioniert, müssen Sie sich ändernProgram Files (x86) zuProgra~2

Der völlig richtige Weg ist C:\Progra~2\Android\android-sdk .

Jetzt sollte es funktionieren.

ilker erikli
quelle
1

Die vorherigen Lösungen werden wahrscheinlich funktionieren. Ich habe es gelöst, indem ich die neuesten ADT (Android Developer Tools) heruntergeladen und alle Dateien im SDK-Ordner überschrieben habe.

http://developer.android.com/sdk/index.html

Sobald Sie es überschrieben haben, gibt Eclipse möglicherweise eine Warnung aus, dass der Pfad für das SDK nicht gefunden wurde. Gehen Sie zu Einstellungen und ändern Sie den Pfad in einen anderen Ordner (C :), klicken Sie auf Apply, ändern Sie ihn erneut und legen Sie den SDK-Pfad und fest Klicken Sie Applyerneut.

xtrm
quelle
1

Schließen Sie Eclipse

Verwenden Sie dies im Terminal:

sudo killall -9 adb

Führen Sie Eclipse aus.

jpmaster
quelle
1

Wenn Sie den Genymotion-Emulator verwenden:

Stellen Sie sicher, dass der für Genymotion verwendete SDK-Pfad auch der für Eclipse verwendete Pfad ist.

Dieser Fehler tritt auch auf, wenn diese beiden Pfade unterschiedlich sind.

Peter Mortensen
quelle
0

Ich habe die oben genannten Methoden ausprobiert, den ADB-Prozess über den Task-Manager beendet und alles hat nicht funktioniert. Aber als ich die Datei adb.exe als Administrator ausgeführt habe, hat es gut funktioniert.

Sai Rohan
quelle
0

Hier ist ein Skript, das ich ausführe, um den ADB-Server (Android Debug Bridge) neu zu starten:

#!/usr/bin/env bash

## Summary: restart adb (Android Debug Brdige) server.

## adb binary full path
ADB_BIN=./adb


if pgrep adb >/dev/null 2>&1
then
    echo "adb is running"
    echo "terminating adb ..."
    $ADB_BIN kill-server
    if pgrep adb >/dev/null 2>&1
    then
        echo "did not work"
        echo "kill adb processes by killall"
        killall -9 adb
    else
        echo "terminated"
    fi
else
    echo "adb is not running"
fi

echo "starting adb ..."

$ADB_BIN start-server

echo "adb process:"

echo `pgrep adb`

echo "done"

# END
Meng Lu
quelle
0

Das letzte Mal, als ich mit diesem Problem konfrontiert war, wurde es mit adb restart gelöst. Wenn Sie versucht haben adb kill-serverundadb start-server kein Glück haben, möchten Sie es vielleicht versuchen. Als ich wieder vor dem gleichen Problem stand, versuchte ich alle oben genannten Antworten ohne Glück, und dies war die letzte Option, die ich versuchte. Es hat wie ein Zauber funktioniert.

Gehe zu Android SDK Manager >> Installiere die wesentlichen Pakete.

AnonymousCoder
quelle
0

maydenec ist richtig (in meinem Fall ...). Die Datei wurde verschoben.

Ich habe sogar diese Datei gefunden:

C:\Program Files (x86)\Android\android-sdk\tools\adb_has_moved.txt

Welches erklärte dieses Problem.

Vorschläge in dieser Datei:

  1. Installieren Sie "Android SDK Platform-tools".
  2. Bitte aktualisieren Sie auch Ihre PATH-Umgebungsvariable, um das Verzeichnis "platform-tools /" aufzunehmen.
Guy Cohen
quelle
0

Es hat bei mir funktioniert, zuerst meinen AVD-Emulator (über den AVD-Manager) zu starten und dann mein Programm auszuführen. Die anderen hier erwähnten Sachen.

(Der Neustart des ADB-Servers hat jedoch nicht funktioniert.)

Benutzer929404
quelle
0

Eclipse → EinstellungenAndroidNDK

Überprüfen Sie, ob der Pfad "NDK-Speicherort" richtig eingestellt ist, und legen Sie ihn mit der Schaltfläche "Durchsuchen" fest.

Gavin Thornton
quelle
0

AndroidSDK → Plattform-ToolsKill hat nicht funktioniert.

Aber nach dem Neustart meines Computers hat es funktioniert.

gnganpath
quelle