it-swarm.com.de

E/art ﹕ Fehler beim Senden der Antwort an den Debugger: Fehlerhafte Pipe, aber die Anwendung wird noch ausgeführt

Wenn ich meine Anwendung starte, erscheinen viele Zeilen im Logcat, aber nur ein Fehler:

E/art sending Fehler beim Senden der Antwort an den Debugger: Unterbrochene Pipe .

Was heißt das? Und wie kann ich das beheben?

16
Vitaly Romaniv

Erklärung des Fehlers:

E/ART: Failed sending reply to debugger: Broken pipe.

Was ist E/ART?

ART ist das A ndroid R unT ime. Dies ist der Bytecode-Interpreter auf Ihrem Android-Telefon. Die Variable E gibt lediglich die Protokollierungsstufe von ERROR an.

Was heißt "Antwort an Debugger senden"?

Das Debugging auf dem Android-Telefon erfolgt mit der adb (Android Debugging Bridge). Der Prozess adb wird auf Ihrem Dev-Computer (Ihrem Laptop oder PC) und ein Daemon auf dem Android-Gerät (d. H. Dem Emulator oder dem Handset) ausgeführt. 

Was ist eine kaputte Pfeife?

Ihr Entwicklungsgerät und das Android-Gerät kommunizieren wie ein Client-Server, und ein broken pipe bedeutet, dass die Kommunikation ungültig geworden ist. Der Client (das Android-Gerät) versucht beispielsweise, eine Antwort an den Server zu senden (den Adb-Prozess, der auf dem Entwicklungscomputer ausgeführt wird), aber der Server hat den Socket bereits geschlossen.

Wie man es repariert

Stellen Sie zunächst sicher, dass Ihre App ordnungsgemäß erstellt wird, indem Sie einen Clean/Re-Build durchführen.

Wenn Sie Ihre App mit USB-Debugging auf einem echten Telefon ausführen, können Sie das Problem häufig beheben, indem Sie das USB-Kabel abziehen und dann wieder anschließen, um die Client/Server-Verbindung wiederherzustellen.

Wenn dies nicht funktioniert, können Sie das USB-Kabel abziehen und (falls erforderlich den Emulator stoppen) und Android Studio schließen. Dies reicht oft aus, um den Prozess adb zu stoppen. Wenn Sie dann Android Studio erneut öffnen, wird es neu gestartet und die Verbindung wird wiederhergestellt.

Wenn dies nicht funktioniert, können Sie den ADB-Server mit den Anweisungen in diese Frage manuell stoppen. Sie können beispielsweise versuchen, die Eingabeaufforderung oder das Terminal zu öffnen, zum Verzeichnis sdk/platform-tools zu gehen und Folgendes einzugeben:

adb kill-server
adb start-server
14
David Rawson

Sie können Folgendes tun:

  • Töte Emulator und Android Studio
  • Öffnen Sie Android Studio und "Rebuild", um den Build-Ordner zu löschen und neu zu erstellen.
4
Karim Fikani

Ich hatte einen Haltepunkt in einer return-Anweisung, als ich es entfernte, lief alles wie geplant. Also probieren Sie das auch aus (Entfernen aller Haltepunkte).

3
Warpzit

das Beenden des "Adb" -Prozesses half mir, diesen Fehler zu beheben. Starten Sie einfach die ADB neu.

1
Nilabja

Ich hatte diesen Fehler, als ich in meiner Modellklasse einen Fehler mit einem Objekttyp (img response) machte, während ich versuchte, unter Android eine Antwort von meiner URL zu erhalten. Und als ich es behoben habe, ist der Fehler verschwunden

0
Sam

Der Fehler kommt daher, dass die tatsächlichen Daten oder die Klasse nicht abgerufen werden. Verwenden Sie Android Monitor mit Loglevel Error und keinen Regex-Filter, um den Fehler zu überprüfen.