ADB trennt ständig die Verbindung, zeigt das Gerät offline an

Ich bin mir nicht 100% sicher, ob dies hier oder in den Hauptstapelüberlauf gehen sollte, aber ich habe mich für diesen Bereich entschieden, in der Hoffnung, dass ich jemanden mit spezifischeren Erfahrungen mit einem ähnlichen Problem erwischen könnte.

Ich habe ein Samsung Captivate (ich liebe es ohne sein beschissenes GPS). Ich mache die Entwicklung dafür von 2 verschiedenen Computern aus, einen zu Hause, einen bei der Arbeit. Die Maschinen sind beide Windows XP, Service Pack 3, 32 Bit. Ich habe die gleichen Samsung-Treiber installiert, die gleichen Versionen von Eclipse usw. Das Telefon ist derzeit gerootet und führt den Serendipity-Mod aus, obwohl dieses Problem bei der Standard-Firmware genau das gleiche war.

Meine Heimmaschine (die problematische) ist ein Athlon 64 2,2 Ghz. Meine Arbeitsmaschine ist ein Core 2 Duo, erinnere mich nicht an das Modell.

Bei der Arbeit kann ich alles tun, die SD-Karte auf dem Telefon einhängen und einfach kopieren, mit adb pushen, ziehen, deinstallieren, installieren. Ich kann in ddms debuggen, über Eclipse installieren usw. usw.

Wenn ich zu Hause sowohl den Computer als auch das Telefon neu starte und eine Eingabeaufforderung öffne, ohne dass Eclipse geöffnet ist, kann ich das Gerät MÖGLICHERWEISE sehen, indem ich adb devices eingebe. Normalerweise kann ich dann den Logcat löschen oder den Logcat ziemlich stabil ausführen. Wenn ich Eclipse (meine Entwicklungs-IDE) öffne und versuche, einen neuen Build einer App auszuführen, verliere ich im Allgemeinen die Verbindung. Dasselbe passiert, wenn ich versuche, Dateien entweder über das Mounten oder mit Pull mit adb zu kopieren. Einige Dateien werden kopiert, und plötzlich wird die Verbindung unterbrochen und das Gerät wird für adb als offline oder gar nicht in der Liste angezeigt oder zweimal als offline aufgeführt. Ein Neustart des Telefons hilft manchmal, aber nicht immer. Es gibt Zeiten, in denen ich Eclipse und jede andere App schließe, mein Telefon neu starte und am Ende immer noch adb nicht in der Lage bin, das Gerät zu erkennen. ICH' Ich werde adb kill-server und adb start-server verwenden, aber das hilft im Allgemeinen nicht. Ich verwende Avast für mein Antivirenprogramm zu Hause, habe es aber ohne installiertes Antivirenprogramm versucht, und es ist dasselbe. Ich habe kürzlich Windows aufgrund eines Festplattencrashs neu installiert und es war genau dasselbe. Ich habe jeden anderen USB-Port an meinem Tower ausprobiert.

Ich hoffe sehr, dass mir jemand sagen kann, was los ist, da ich mich jetzt seit anderthalb Jahren damit beschäftige und es mich bald den Verstand verlieren lässt.

-Jeremia

Ich habe ein ähnliches Problem, aber es ist nur eine lockere Verbindung auf dem Kabel, das ich zu Hause verwende
Wenn ich mein USB-Kabel abtrenne und wieder anschließe, verschwindet das Problem. Ich weiß nicht, ob es sich um ein Kabelproblem oder um ein Timeout-Problem handelt. Irgendwelche Hinweise ?
Das passiert mir ständig, aber aus welchen Gründen auch immer, nur wenn ich im Auto debugge. Seltsam.
Mein USB-Kabel, das mit dem Gerät geliefert wurde, ist für dieses Problem beim Debuggen berüchtigt. Das Aufladen ist aber in Ordnung. Jedenfalls habe ich zu meinem alten (und übrigens kürzeren) USB-Kabel gewechselt und jetzt funktioniert es.
Gleiches Problem mit Pixel 2 und Macbook Pro 15 Zoll 2018. Mein USB-C-zu-USB-Typ-C-Kabel ist das Original von Google

Antworten (18)

Der Wechsel von USB 3.0-Anschluss zu USB 2.0 löste das Problem für mich. Die meisten Laptops sind heutzutage mit beiden Anschlusstypen ausgestattet.

du hast meinen Tag gerettet. Alte Telefone haben bei der Installation von APK ständig die Verbindung zu USB 3 getrennt
Dasselbe Problem für mich. Es war auch ein neueres Gerät ... Es wurde jedoch ständig getrennt, wenn es an einen 3.0-Anschluss angeschlossen wurde. Das Verschieben auf einen 2.0-Port hat super funktioniert.
Es ist erstaunlich, ich glaube nie, dass das Problem am USB-Port liegt.
Ja. Hatte das gleiche Problem wie @Climbatize. Musste USB-Anschlüsse tauschen, bis ich einen fand, der dem Gerät gefiel. Neuere Geräte haben keine Probleme mit denselben Ports, aber das ältere Gerät würde jedes Mal die Verbindung trennen, wenn Android Studio versuchte, eine APK zu installieren.
Anderen USB-Port probiert und es funktioniert!

Schließen Sie Ihr Gerät über einen aktiven USB-Hub an. Einige Computer, einschließlich neuer Apple MacBooks, haben nicht genug Strom in den USB-Anschlüssen, was dazu führt, dass ADB ständig die Verbindung trennt.

Wenn Ihr Gerät gerootet ist, können Sie es über WLAN mit adb verbinden. Das ist sehr komfortabel, viel mehr als kabelgebundenes USB. Natürlich hat man nicht immer ein gerootetes Gerät.

Interessant. Hat noch jemand da draußen Probleme mit tragbaren Macintosh-Geräten, die angeschlossene Geräte nicht mit genügend Strom versorgen?
Sie benötigen kein WIFI für TCP-IP-ADB. Sie müssen nur zuerst ein funktionierendes USB-ADB haben, damit das ADB auf dem Telefon auf TCP/IP lauscht. Wenn es mit USB ADB verbunden ist, geben Sie adb tcpip 5555 ein, trennen Sie USB, geben Sie adb connect your.phone.ip.number ein
Ich kann nicht glauben, dass ich erst heute darauf gestoßen bin. Ich habe ein MacBook Pro (Retina, 15 Zoll, Ende 2013) und habe dieses Problem seit Monaten und habe im ganzen Internet gesucht. Mein Galaxy S6 trennte sich zufällig (oft innerhalb von Sekundenbruchteilen, immer innerhalb von etwa einer Minute nach dem Verbinden). Ich habe es einfach über einen USB-Hub mit Stromversorgung angeschlossen und bam! Es funktioniert einfach. Danke, @grebulon.
Ich bin mir nicht sicher, ob das zusammenhängt oder nicht, aber das einfache Umschalten vom linken USB-Anschluss zum rechten USB-Anschluss auf einem MacBook Pro (Retina, 15 Zoll, 2012) hat das Problem anscheinend gelöst!

Das hat mich ewig genervt. Logcat würde verschwinden oder das Telefon müsste wieder an den USB angeschlossen werden, damit ADB es richtig sehen kann.

Was für mich funktionierte, war die Verwendung eines der hinteren USB-Anschlüsse an meinem PC. Die vorderen gingen wahrscheinlich durch einen zwielichtigen Hub oder vielleicht eine zwielichtige USB-Hub-Software. Wenn Sie also USB-Anschlüsse auf der Vorderseite verwenden, probieren Sie die auf der Rückseite aus.

Ich verwende ein LG G3 Marshmallow. Ich weiß nicht warum, aber wenn ich es Developer options > Networking section > Select USB Configuration > MTPrepariert habe.

Wenn ich vorher mein Telefon an meinen PC anschloss, fror das Treiberinstallationsfenster beim Start immer ein, aber als ich zur MTP-Verbindung wechselte, erkannte das Treiberinstallationsfenster es sofort und das Telefonsymbol änderte sich in ein LG-Telefonsymbol und beendete die Installation .

Genial! Ich versuche die ganze Hölle von Kommentaren hier und nichts kann es beheben. Das war nur ein Zauber! Ich habe die Option "Laden" aktiviert und es behoben, muss ein seltsames Problem sein, aber vorerst funktioniert es! Du rettest mein Leben, Daniel!

Für mich hört es sich an, als hätten Sie zu Hause schlechte Hardware oder Treiber. Stellen Sie sicher, dass Sie nichts mit dem Laufen von Kies zu tun haben; Kies + Samsung Windows-Treiber scheinen ein unregelmäßiges Verhalten bei der USB-Verbindung zu verursachen, das sich von Maschine zu Maschine unterscheidet ...

Probieren Sie zuerst verschiedene USB-Anschlüsse und -Kabel aus.

Ich neige dazu, hier zuzustimmen ... Ich habe das Gefühl, dass im Grunde etwas mit meinem Heimcomputer (Platine / CPU / USB-Anschlüsse) nicht kompatibel / nicht kompatibel sein muss. Ich hatte jedoch keine Probleme mit anderen USB-Geräten ... Ich benutze das gleiche Kabel an beiden Orten ... also gut ... Ich glaube, ich bin nur am Arsch. Ich war nur ein Haar davon entfernt, meine Heimmaschine mit einem neuen Mobo aufzurüsten ... also denke ich, dass das einfach passieren muss. Es ist aber scheiße, ich brauche ehrlich gesagt keine schnellere Maschine, die Entwicklung ist nicht besonders intensiv ...

Früher hatte ich die gleichen Probleme und auch mein Logcat löschte und stoppte die Aktualisierung in Eclipse, der Unterschied ist, dass ich damals auf einem offiziellen Samsung-ROM war. Nachdem ich zu Darky's ROM gewechselt habe, war die Stabilität viel besser. Trotzdem verschwindet das Gerät hin und wieder, aber normalerweise taucht es nach dem erneuten Anschließen des USB wieder auf. Mein PC unterscheidet sich ein wenig von Ihrem (Atom D525, Win7), daher kann ich bestätigen, dass er nicht auf ein einzelnes Gerät/Betriebssystem beschränkt ist.

Ich würde vorschlagen, das ROM neu zu flashen oder zu aktualisieren, wenn möglich. Oder Sie können es mit einem anderen Telefon versuchen, um festzustellen, ob es sich um einen spezifischen Fehler Ihres Telefons handelt. Auf der anderen Seite ist ADB nicht die stabilste Software, also könnte es nur ein lästiger Schluckauf sein.

Ich könnte einen Kumpel Vibrant ausprobieren ... das ist ein Gedanke ... trotzdem bin ich mir nicht sicher, ob das Rom ein Problem ist, da sich sowohl bei der Standard-Firmware als auch bei Serendipity alles genau gleich verhalten hat ... obwohl ich es war Ich bin neugierig, Firefly auszuprobieren ... wir werden sehen.

Ich hatte das gleiche Problem mit meinem Nexus 4, auf dem Cyogenmod 11 unter Windows 8 ausgeführt wurde. Ich habe es mit einem USB-Splitter angeschlossen und mein Telefon hat die Verbindung innerhalb von Sekunden, nachdem es von LogCat / DDMS erkannt wurde, getrennt. Das Umschalten auf einen physischen Port auf meinem Computer hat den Zweck erfüllt. In meinem Fall funktionierten die vorderen USB-Anschlüsse einwandfrei.

Ich hatte dieses Problem beim Trennen und erneuten Verbinden.

Ich habe mein Problem in den Windows USB-Einstellungen gelöst:

1- Open device Manager.
2- Human interface Devices.
3- Right click in one of them or double click.
4- go to power management.
5- Uncheck the option of "Allow the computer to turn off this device to save power" than OK.
Note* try to use step #3-5 on all available option*

(von http://www.tomshardware.co.uk/answers/id-1783536/usb-ports-disconnecting-reconnecting.html )

Die folgenden zwei Lösungen haben bei mir funktioniert.

Sie können eines der beiden oder beide ausprobieren.

  1. Gerät neustarten.
  2. Geben Sie etwas internen Speicherplatz frei (funktioniert in den meisten Fällen).
Geben Sie etwas internen Speicherplatz frei - überraschenderweise hat dies für mich funktioniert

Finden Sie den Standort android-sdk-windows\platform-tools.

Öffnen Sie die Eingabeaufforderung und führen Sie dann diese Befehle aus:

cd c:\android\sdk\android-sdk-windows\platform-tools
adb.exe kill-server
adb.exe Startserver

Diese Schritte können Ihr Problem lösen.

Vergessen Sie nicht, dass Ihr Android-SDK-Windows-Verzeichnis möglicherweise anders ist. Sie müssen also die Zeichenfolge selbst ändern => c:\android\sdk\android-sdk-windows\platform-tools
OP schrieb: „ Ich werde adb kill-server und adb start-server verwenden, aber das hilft im Allgemeinen nicht “.
Dies ist eine Problemumgehung, keine Lösung.

Es könnte an einer Windows-Einstellung liegen, die (ziemlich dummerweise) standardmäßig aktiviert ist

Klicken Sie bei Ihrem gewählten Plan auf „Erweiterte Energieeinstellungen ändern“ und erweitern Sie „USB-Einstellungen“. Erweitern Sie im Abschnitt „USB-Einstellungen“ die Option „Einstellung für selektives USB-Suspendieren“ und ändern Sie sie in „Deaktiviert“ für „On battery“ und „Plugged In“.

Alle Ehre dem Windowsclub

Holly Cow, ich hatte dieses Problem auf meinem Desktop-Computer, nur indem ich den Adb-Server startete und keine Geräte angeschlossen waren (sprechen Sie nicht einmal vom Debuggen), und diese Einstellung hat es behoben

Dasselbe Problem hier; Ich verwende adb unter gnu/linux ohne zusätzliche Treiber.

Workaround-Lösung: Ziehen Sie den USB-Stecker ab und stecken Sie ihn wieder ein

http://forum.xda-developers.com/showthread.php?p=17111464#post17111464

Derzeit besteht meine Arbeitsmethode darin (und ich finde das immer noch scheiße), Eclipse zu bauen, zu schließen und ein- und auszustecken, bis die Eingabe von adb-Geräten das Gerät anzeigt. Wenn ich mehr als eine Anzeige habe, adb kill-server, dann stecken Sie und adb-Geräte ein. Extrem langweilig.
Frustrierenderweise führt dieser Link zu einem Forum, das einen Link zu einer anderen Stack-Austauschseite hat, die auf diesen Thread verweist.

adb auf Debian/Ubuntu ist derzeit als 1.0.29. Für die Verbindung mit Android 4.2.2+-Geräten ist 1.0.31 erforderlich, was diesen Fehler verursacht

https://bugs.launchpad.net/ubuntu/+source/android-tools/+bug/1131163

Sie können entweder das neueste Android-Entwicklungskit manuell installieren oder warten, bis die Debian-Leute das Paket aktualisieren

Ein anderes Problem mit den gleichen Symptomen beim Update auf MacOS Sierra. Hier ist ein Workaround-Skript:

#!/bin/bash

cat << EOF
###########################################################
# Workaround adb disconnecting issue on macOS Sierra
#
# More info:
# https://code.google.com/p/android/issues/detail?id=219085
# credits to: hans...@meetme.com, vs...@google.com
###########################################################

EOF

function monitor_adb () {
  adb start-server
  echo "[$(date)] adb started"

  while [ "$(adb shell echo 1)" ]; do sleep 5; done

  echo "[$(date)] adb is broken, restarting"

  adb kill-server
  adb start-server || adb start-server
  adb reverse tcp:8081 tcp:8081
}

while [ true ]; do time monitor_adb ; done
Das funktioniert bei mir nicht. Der Kill/Start wiederholt sich einfach ohne Glück. MBP Retina 2015 Yosemite mit S6 Edge FYI.
Dies sollte nicht mehr benötigt werden. Fehler wurde in 24.0.4 oder höher behoben. Wie hier zu sehen: code.google.com/p/android/issues/detail?id=219085

Ich hatte das gleiche Problem, aber nur mit Android 6/7-Geräten und Mac-Host. Die Lösung war ... das Gerät vom Lademodus in den Dateiübertragungsmodus zu schalten.

Hier ist meine Antwort mit adb pullEmulationsproblemumgehung basierend auf adbund dd. Der Download wird kontinuierlich wiederholt und fortgesetzt, wenn die Verbindung getrennt wird.

Dies geschieht jedes Mal, wenn Sie die ADB-Verbindung geöffnet lassen und die Verbindung nach der Verwendung der ADB-Sitzung trennen müssen. Um die Verbindung zu trennen, führen Sie sie einfach aus

adb disconnect <ipaddress>

Sie ersetzen die IP-Adresse durch die IP des Android-Geräts, genau wie bei adb connect.

Ich habe eine sehr einfache Lösung gefunden. Dasselbe ist mir im Ubuntu 16.04-System passiert. Ich habe folgenden Befehl angewendet.

adb kill-server
sudo adb start-server

Wenn adb ausgeführt wird, adminwird kein Fehler ausgegeben.