Android adb "Synchronisierungsverbindung kann nicht geöffnet werden!"

168

Ich kann meine Android-App die meiste Zeit problemlos auf meinem Handy ausführen und debuggen. Wenn ich dann scheinbar zufällig versuche, meine App über Eclipse auszuführen oder zu debuggen, sagt die Konsole in Eclipse:

[2010-10-12 09:36:48 - myapp] Android Launch!
[2010-10-12 09:36:48 - myapp] adb is running normally.
[2010-10-12 09:36:48 - myapp] Performing com.mycompany.myapp.MyActivity activity launch
[2010-10-12 09:36:48 - myapp] Automatic Target Mode: using device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Uploading myapp.apk onto device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Failed to upload myapp.apk on device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] java.io.IOException: Unable to open sync connection!
[2010-10-12 09:36:48 - myapp] Launch canceled!
  • Wiederholen: hilft nicht, gleiche Nachrichten.
  • Eclipse neu starten: hilft nicht.
  • Starten Sie adb ( adb kill-server && adb start-server) neu: keine Fehler, hilft nicht.
  • Schließen Sie das Telefon wieder an: Manchmal hilft es.
  • Starten Sie den Computer neu: ziemlich drastisch, habe dies noch nicht versucht.

Verwenden von Ubuntu 10.4, Eclipse Galileo 3.5.2, Android SDK 7, ADT-Plugin 0.9.6, Nexus One, Android 2.2.1.

Irgendwelche guten Ideen?

Thomas
quelle
2
Gleiches Problem hier auf einem Nexus One. Es ist ein schreckliches und verzweifeltes Problem, das Testen im Emulator ist so langsam ... Das Seltsame ist, dass ich der einzige bin, der dieses Problem hat, und wir sind 5 Entwickler, die dasselbe Telefon teilen. Ich benutze Windows und es passierte auch in früheren SDK-Versionen (2.0 und
höher
2
Hier gilt das gleiche. Manchmal behebt das Radfahren "Debug-Verbindungen zulassen" das Problem, manchmal wird es durch Ziehen des USB-Kabels behoben, manchmal wird es bis morgen durch NICHTS behoben (ich gehe davon aus, dass dies durch die Gravitation des Mondes erklärt werden kann). Ich habe versucht, vom USB-Hub auf einen direkten Anschluss umzusteigen, aber das hatte keine Auswirkungen. Vista x64 Benutzer hier.
Skylar Sutton
1
(Ich nehme an, das kann durch den Gravitationseffekt des Mondes erklärt werden) Das klingt interessant. Ich bemerkte eine Anhäufung dieses Effekts am Donnerstag mit Newmoon.
Koala
Jemand sollte diese Frage schützen. Es fängt an, viele doppelte Antworten und "Ich auch" -Kommentare zu bekommen.
Magakahn
Das hat funktioniert. Ich habe mich gefragt, ob das USB-Kabel ausfällt. Das erste Jahr der Entwicklung wird von all den seltsamen Dingen getroffen, die schief gehen und die Korrekturen erforschen und sich daran erinnern.
Androidcoder

Antworten:

416

Ich hatte genau das gleiche Problem, aber mein Telefon war bereits an den USB-Anschluss des Computers angeschlossen. Manchmal funktionierte das Trennen und Wiederverbinden des Kabels, aber dann funktionierte es nicht mehr vollständig. Das Deaktivieren des USB-Debuggens auf dem Telefon und das anschließende erneute Aktivieren des Telefons hat bisher jedoch funktioniert. Hoffentlich funktioniert es weiter! Diese Korrekturen scheinen wirklich alberne Hacks zu sein. Ich bin mir nicht sicher, was das zugrunde liegende Problem ist.

Maven
quelle
1
Zum Glück habe ich dieses Problem nicht einmal am Tag und das einfache Wiederverbinden des USB-Kabels funktioniert immer
einwandfrei
Ich hatte dies und das Abziehen / Umstecken des Kabels funktionierte normalerweise, aber heute brauchte es die USB-Aktivierung / Deaktivierung 'Tweak' für den Prozess. Ich bin mir nicht sicher, ob es nur Aberglaube ist und ob es die Verzögerung bei der Navigation ist, um die Debugging-Option zu aktivieren / deaktivieren, die den Trick macht. Trotzdem danke für diesen Beitrag, der mich die Wand hochgetrieben hat!
Sradforth
6
Das gleiche Problem sehen. Unplug / Plug löst es nicht. Das Umschalten des USB-Debuggens (ohne Stecker / Stecker) löst das Problem für mich. Hat jemand ein Widget dafür?
James Moore
1
Ernsthaft, warum ist Android immer so fehlerhaft?
Pacerier
1
Danke für den Lösungskameraden. Um ehrlich zu sein, scheint mir die Android-Programmierung selbst eine Reihe alberner Hacks zu sein. Viele Dinge funktionieren nicht gemäß der Intuition - und ich finde oft, dass entweder undokumentierte Funktionen notwendig sind oder dass eine andere Spielerei sie löst.
KalEl
25

Ich konnte dies nur durch Drücken der USB-Debugging-Option auf dem Telefon beheben.


quelle
11
Einstellungen -> Anwendungen -> Entwicklung -> USB-Debugging
Thunder Rabbit
1
Wie unterscheidet sich das von der akzeptierten Antwort? Auch du meinst umschalten
Mr_and_Mrs_D
Es unterscheidet sich von der Hauptverbindung, da einige Ports des Geräts nicht ordnungsgemäß funktionieren. Einige Ports deaktivieren entweder Ihren Debug-Modus, sodass Sie den Debugger deaktivieren und dann vom Gerät aus wieder aktivieren müssen ..........
Amitsharma
3

Dies kann auch mit einem Problem mit "zu vielen geöffneten Dateien" zusammenhängen. Ich habe manuell versucht, die App zu installieren, als oben der Fehler "Synchronisierung" angezeigt wurde, und dann habe ich den Hinweis "Zu viele offene Dateien" erhalten. eine brutale Problemumgehung, basierend auf einigen alten Beiträgen , scheint darin zu bestehen, das Telefon neu zu starten, und ein Google-Ingenieur schlug vor, dies zweimal zu tun, das zweite Mal, bevor es das erste Mal in den Ruhemodus wechselt (Details zum Warum in dem Beitrag).

Das war vor ein paar Jahren, und vielleicht haben sie es behoben oder nur einige Dinge getan, um es in den üblichen Fällen zu umgehen, und die Neuinstallation als Teil der Entwicklung ist kein Fall, den es anspricht.

user655489
quelle
2
Ja, ich habe kurz vor diesem Problem die Meldung "Zu viele offene Dateien" erhalten. Ich glaube, es hängt damit zusammen, nicht sicher, ob und wann eine ordnungsgemäße Lösung kommt ...
Marty
Marty - ich habe die gleiche Erfahrung gemacht
Jemand irgendwo
3

Nexus One hier, CyanogenMod 7 (Android 2.3.7) ... deaktivieren und wieder aktivieren:

Einstellungen> Anwendungen> Entwicklung> USB-Debugging

Und jetzt funktioniert alles unter Eclipse und Mac OS X 10.7.3.

Whiskito
quelle
2

Ich habe das gleiche Problem, wenn ich das Telefon über den USB-Hub meiner Tastatur angeschlossen habe. Es ging weg, als ich mich direkt an den USB-Anschluss des Computers anschloss.

Juhani
quelle
2

Ich hatte das gleiche Problem und ein Neustart von ADB würde bei mir nicht funktionieren. Manchmal funktionierte ein Neustart meines Telefons, aber nicht immer. Aufgrund dieses Fehlers konnte ich etwa eine Woche lang nicht programmieren, und ich glaube, ich habe endlich eine Problemumgehung gefunden! :-D

Beenden Sie zunächst jedes Programm, das auf Ihrem Telefon ausgeführt wird. Wenn Sie eine Art Task-Manager haben, ist dies eine schnelle Aufgabe. Andernfalls müssen Sie alle manuell einzeln beenden.

Wenn dies das Problem nicht behebt, müssen Sie zu Ihren Telefoneinstellungen gehen, dann zu "Anwendungen", dann zu "Ausführen von Diensten" und alle darin enthaltenen Dienste beenden. Ich benutze einen Droid Incredible und ich habe noch nicht, dass dies für mich nicht funktioniert. :-)

Die kurze Antwort lautet also: Töte alle Apps und alle Dienste.

Denken Sie auch daran, dass Sie Eclipse schließen und erneut öffnen müssen, um festzustellen, ob dieses Update für Sie funktioniert hat. Ich hoffe das funktioniert bei dir, ich weiß, dass es bei mir funktioniert hat! :-D

Jared
quelle
2

Wenn dies auf dem Kindle Fire passiert, schalte ich es einfach aus und wieder ein.

HalR
quelle
2

Ich habe es behoben, indem ich die Debugging-Konfiguration auf meinem Gerät (SonyEricsson Xperia) deaktiviert und aktiviert habe.

Rolimat
quelle
2

Dieser Fehler tritt auf, wenn die Android Debug Bridge , mit der Daten von unserem Computer an das angeschlossene Gerät gesendet werden, getrennt wird. Wie wir wissen, gibt es einige Ebenen, die verbunden werden müssen, wie die ADB selbst, und natürlich ist die letzte Ebene das USB-Kabel. Wenn Sie also bereits versucht haben, Ihr ADB-Skript neu zu starten und anscheinend nicht funktionieren, müssen Sie nur Ihr Kabel erneut anschließen.

Enrique Diaz
quelle
1

Ich sehe dieses Problem regelmäßig sowohl bei angeschlossenen Geräten (Telefon oder Tablet) als auch bei den Emulatoren. Mir ist aufgefallen, dass das Problem häufig auf Inaktivität zurückzuführen ist (z. B. nach einer Mittagspause). Es kann sein, dass das Betriebssystem auf dem Entwicklungscomputer versucht, Ressourcen zu schonen, und adb ist einfach nicht so JIT-freundlich. Unter Windows muss ich die IDE schließen, den Task-Manager öffnen, stop (kill) adb erzwingen und dann Eclipse neu starten. Das funktioniert immer bei mir ...

  • Ich habe festgestellt, dass dieses Problem erheblich reduziert wird, wenn ich im Task-Manager für adb eine höhere Priorität festlege - obwohl es immer noch auftreten kann.
rauben
quelle
1

Ein Neustart des Telefons hat dieses Problem auch für mich behoben, wenn das Zurücksetzen des USB-Kabels es nicht behoben hat

Kurru
quelle
Das Deaktivieren und Aktivieren des USB-Debuggens hat bei mir nicht funktioniert. Ich habe versucht, das Gerät neu zu starten. Alles hat gut funktioniert. Ich denke, dieser Fehler hängt mit vielen Apps oder Diensten zusammen, die auf dem Gerät arbeiten. Wenn ich es also neu starte oder Task-Manager -> RAM -> Speicher löschen, wird das Problem
Chris Sim
1

Die Lösung wird wahrscheinlich auf Ihrem Android-Telefon (auf lokalem Terminal oder SSH-Terminal) ausgeführt: $ stop adbd; adb starten

Ich mag keine Overkill-Lösungen wie das Neustarten des Telefons ... und dies wird normalerweise unter Linux nicht benötigt. Ich hatte das gleiche Problem beim Verbinden über WLAN, daher ist USB möglicherweise überhaupt nicht verantwortlich. Als ich die Antwort von user655489 las, kam mir die Idee, lsof und dann lsof | auszuführen grep adbd | wc -l => Ich glaube, ich hatte über viele Steckdosen mit allen FD von 0 bis 1023 geöffnet ... wie verdächtig.

Ich habe killall adbd ausgeführt und dann adbd per neu gestartet. Wie kann ich mit Android über ADP eine Verbindung zu Android herstellen? Und das Problem war weg.

Die Ursache ist, dass zumindest beim Debuggen und Beenden meiner nicht funktionierenden Apps einige der Sockets niemals geschlossen werden.

Cyril Holweck
quelle
1

Was mir hilft, ist Folgendes: +++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++

Wenn Sie auf AndroidX86 debuggen (oder anderweitig Root-Zugriff auf Ihren Android-Entwicklercomputer haben), beenden Sie den "adbd" -Prozess .. und lassen Sie ihn neu starten.

z.B

[Auf Android VM]

  • kill adbd (zB kill `ps a| grep adbd | awk ' { print $2 } '`)
  • / sbin / adbd wird automatisch neu gestartet

[Auf DEV-Station]

  • [dev station] ./adb trennen
  • [dev station] ./adb connect

Wenn Sie kein Root-Verzeichnis haben, kann es wahrscheinlich auch hilfreich sein, das USB-Debugging, den Neustart usw. umzuschalten. Da es auch adbd neu startet ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++

Roderick Groesbeek
quelle
0

Ich habe dieses Problem sehr oft erlebt (ich meine, wie jedes zweite Mal, wenn ich Debug gestartet habe). Ich habe ein ziemlich langes USB-Kabel verwendet. Ich habe auf das ursprüngliche HTC USB-Kabel umgestellt, das kurz ist und das Problem war weg!

Daniel Novak
quelle
0

Dieses Problem trat auf, als mein USB-Kabel über eine USB-Tastatur mit dem PC verbunden war : O . Als ich es direkt an den PC angeschlossen habe, ist mein Problem gelöst.

Ich hoffe das funktioniert.

Genießen!

Bobs
quelle
0

Gemäß Maven-Erklärung habe ich diese Lösung ausprobiert. aber ich bekam das gleiche Problem. Also habe ich das Gerät neu gestartet . Und es fing an perfekt zu funktionieren.

Narendra Pal
quelle
0

Versuche dies,

Deaktivieren Sie das USB-Debugging auf dem Telefon und aktivieren Sie es erneut unter

Einstellungen -> Anwendungen -> Entwicklung -> USB-Debugging

es funktioniert gut.

Silambarasan
quelle
0

Diese Lösung hat bei mir funktioniert

  1. Klicken Sie auf USB-Debugging-Berechtigungen widerrufen.
  2. OK klicken.
  3. Schließen Sie USB wieder an.
  4. Klicken Sie für Berechtigungen auf OK.

Geben Sie hier die Bildbeschreibung ein

Siddarth Kanted
quelle