webentwicklung-frage-antwort-db.com.de

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

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

[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: Es hilft nicht, dieselben Nachrichten.
  • Starten Sie Eclipse neu: es hilft nicht.
  • Starten Sie adb (adb kill-server && adb start-server) neu: keine Fehler, hilft nicht.
  • Schließen Sie das Telefon erneut an: manchmal hilft.
  • Starten Sie den Computer neu: irgendwie drastisch, haben Sie dies noch nicht versucht.

Mit 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?

168
Thomas

Ich hatte genau das gleiche Problem, aber mein Telefon war bereits mit dem USB-Anschluss des Computers verbunden. Manchmal funktionierte das Trennen und Wiederherstellen des Kabels, aber es funktionierte vollständig. Das Deaktivieren von USB-Debugging auf dem Telefon und die erneute Aktivierung haben bisher jedoch funktioniert. Hoffentlich funktioniert es weiter! Diese Korrekturen wirken wirklich wie dumme Hacks. Ich bin mir nicht sicher, was das zugrunde liegende Problem ist.

416
Maven

Ich konnte dies nur durch Deaktivieren der USB-Debugging-Option auf dem Telefon löschen.

25
user153275

Dies kann auch mit einem Problem "zu viele offene Dateien" zusammenhängen. Ich habe manuell versucht, die App zu installieren, wenn der obige "Sync" -Fehler angezeigt wird, und dann bekam ich den Hinweis "zu viele offene Dateien". Ein brutaler Workaround, der auf einigen alten Posts basiert, scheint das Telefon neu zu starten, und ein Google-Engineer schlug vor, es zweimal zu machen, das zweite Mal, bevor es das erste Mal in den Ruhemodus wechselt (Details dazu in der Post ). 

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

3
user655489

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

Einstellungen> Anwendungen> Entwicklung> USB-Debugging

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

3
whiskito

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

2
Enrique Diaz

Ich hatte das gleiche Problem und ein Neustart von ADB würde für mich nicht funktionieren. Manchmal funktionierte das Telefon neu, aber es funktionierte nicht immer. Aufgrund einer Störung konnte ich etwa eine Woche lang keine Programme programmieren. Ich glaube, ich habe endlich einen Workaround gefunden! :-D

Beenden Sie zunächst jedes Programm, das auf Ihrem Telefon ausgeführt wird. Wenn Sie eine Art Taskmanager haben, ist dies eine schnelle Aufgabe. Andernfalls müssen Sie sie manuell nacheinander beenden. 

Wenn dies nicht behoben werden kann, müssen Sie zu den Telefoneinstellungen gehen, dann auf "Anwendungen" und dann auf "Laufende Dienste" gehen und jeden Dienst dort beenden. Ich benutze einen Droid Incredible und ich muss das noch nicht für mich arbeiten lassen. :-)

Die kurze Antwort lautet also: Beenden Sie alle Apps und Dienste.

Denken Sie auch daran, dass Sie Eclipse schließen und erneut öffnen müssen, um zu sehen, ob dieser Fix für Sie funktioniert hat. Ich hoffe, das funktioniert für dich, ich weiß, dass es für mich getan hat! :-D

2
Jared

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

2
rolimat

Wenn dies beim Kindle Fire geschieht, schalte ich es einfach aus und wieder ein.

2
HalR

Ich hatte das gleiche Problem, wenn das Telefon über den USB-Hub meiner Tastatur angeschlossen ist. Wenn ich direkt an den USB-Anschluss des Computers angeschlossen bin, ist der Computer nicht mehr an den Computer angeschlossen.

2
Juhani

Ein Neustart des Telefons hat dieses Problem auch behoben, wenn das USB-Kabel nicht zurückgesetzt wird

1
Kurru

Die Lösung wird wahrscheinlich auf Ihrem Android-Telefon (auf einem lokalen Terminal oder einem SSH-Terminal) ausgeführt: $ stop adbd; Start Adb

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

Ich habe killall adbd ausgeführt und dann adbd per neu gestartet./Wie kann ich eine Verbindung zu Android mit ADB über TCP 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.

1
Cyril Holweck

Was mir dabei hilft, ist folgendes: +++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++

Wenn Sie unter AndroidX86 debuggen (oder auf andere Weise Root-Zugriff auf Ihre Android-Entwicklungsmaschine haben) Beenden Sie den "adbd" -Prozess .. und lassen Sie ihn neu starten.

z.B.

[Auf Android-VM]

  • töten Sie adbd (z. B. töten Sie `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 nicht über root verfügen, könnte das Umschalten zwischen USB-Debugging, Neustart usw. möglicherweise ebenfalls hilfreich sein Außerdem wird adbd ++++++++++++++++++++ neu gestartet +++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++

1

Ich sehe dieses Problem regelmäßig in angeschlossenen Geräten (Telefon oder Tablet) und sogar in den Emulatoren. Mir ist aufgefallen, dass das Problem häufig auf Inaktivität folgt (zum Beispiel nach einer Mittagspause). Möglicherweise versucht das Betriebssystem auf dem Entwicklungscomputer Ressourcen zu sparen, und Adb ist nicht alles JIT-freundlich. Unter Windows muss ich die IDE - Taste schließen, den Task-Manager öffnen und stop (kill) adb erzwingen. Das funktioniert immer bei mir ...

  • Ich habe festgestellt, dass ich, wenn ich im Task-Manager für adb eine höhere Priorität einstelle, dieses Problem stark reduziert - obwohl es immer noch passieren kann.
1
Rob

Versuche dies,

Deaktivieren Sie das USB-Debugging am Telefon und aktivieren Sie es anschließend erneut unter

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

es funktioniert gut.

0
Silambarasan

Diese Lösung hat für mich funktioniert

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

 enter image description here

0
Siddarth Kanted

Dieses Problem trat auf, als mein USB-Kabel über keyboard USB : O an den PC angeschlossen wurde. Wenn ich es direkt mit dem PC verbunden habe, wurde mein Problem gelöst.

Ich hoffe das funktioniert.

Genießen!

0
Bobs

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 begann perfekt zu funktionieren.

0
Narendra Pal

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

0
Daniel Novak