2010-02-10 5 views
40

Nachdem ich den Emulator durch Drücken von Debug in Eclipse gestartet habe, wird nach einer bestimmten Zeit die Verbindung zum ADB getrennt, der Emulator bleibt jedoch geöffnet. Es reagiert, ich kann navigieren und Apps starten.Wie man den Android-Emulator an ADB anfügt?

Wie kann ich den Emulator an ADB anhängen, um von Eclipse debuggen zu können?

(die aktuelle Problemumgehung ist die den Emulator, in der Nähe von Eclipse beenden und beide neu starten, die 10 Minuten dauert, wie Sie den Emulator braucht Zeit kennen zu starten)

EDIT 1
Schauen Sie sich diese Bild:

enter image description here

EDIT 2

Nachdem ich den Server getötet und neu gestartet habe. Ein Emulatorprozess wird auf der Registerkarte Geräte in Eclipse angezeigt. Aber das kann nicht erweitert werden, und ich sehe keine Unterprozesse.
Ich kann nicht bereits debuggen, wie es sagt: Debug bereits ausgeführt. (Wie kann ich das Debug stoppen?)

Wenn ich es geschafft habe, das Debuggen eines anderen Projekts zu starten, hängt es im Emulator auf und sagt mir: Warten auf den Debugger zum Anhängen. Nichts passiert.

Antwort

92

Wie Sie gesagt haben, ist das Problem nicht Eclipse verlieren Kontakt mit dem Emulator, sondern ADB - die Android Debug Bridge - Kontakt zu verlieren. Da Eclipse ADB verwendet, um mit dem Emulator zu kommunizieren, wenn ADB defekt ist, kann Eclipse nichts tun.

Um dies zu beheben stop the ADB server indem Sie den folgenden Befehl ausführen:

adb kill-server 

Eclipse dann versuchen, in der Regel ADB neu zu starten, oder Sie können es selbst neu starten, indem ein ADB-Befehl ausgeführt wird, wie zum Beispiel:

adb devices 

Wenn Sie das tun, werden Sie eine Ausgabe wie diese:

* daemon not running. starting it now * 
* daemon started successfully * 
List of devices attached 
emulator-5554 device 

Sie ca n auch dies über die Maus, mit der Reset adb Option in der Geräte Ansicht in Eclipse.

alt text

Es ist auch erwähnenswert, die Console Ansicht verfügt über zwei Modi, DDMS und Android. Sie befinden sich normalerweise im Console-Modus, aber es ist der DDMS-Modus, in dem ADB-Statusmeldungen angezeigt werden. Wählen Sie Modi, indem Sie die Taste mit dem Monitor-Symbol klicken, oder mit dem Pfeil neben es:

alt text

Wenn alles andere fehlschlägt, versuchen Sie die adb Prozesse von der OS zu töten. Unter Windows XP benutze ich:

+0

Umfassend! :) –

+0

Ich kann dies nicht über die Maus tun, mit der Option adb Reset in der Ansicht Geräte in Eclipse, weil alles, was dort ist, ausgegraut ist. Überprüfen Sie meine Bearbeitung oben. – Pentium10

+0

@ Pentium10 - versuchen Sie, die adb Prozesse vom Betriebssystem zu töten, da dies manchmal hilft. Als nächstes versuchen Sie Eclipse neu zu starten, was für mich schneller ist, als den Emulator neu zu starten. –

1

Manchmal hilft ein Kill-Server nicht bei meinem Rechner (WinXP).Zum Beispiel kann ich den Emulator in der DDMS-View nicht mehr sehen oder ich sehe es aber keine Prozesse darauf laufen.

In diesen Fällen schließe ich den Emulator und Eclipse und manuell den adb.exe-Prozess aus der Prozessliste.

Wenn ich dann Eclipse und den Emulator neu starte, ist alles wieder in Ordnung.

Jetzt für das :-) Ich

1

auf einem Mac nur eine Tastatur-Shortcut brauchen, ich hatte nur adb von Aktivitätsmanager zu töten und wieder manuell das Programm wieder öffnen. hatte die Sonnenfinsternis geöffnet und es funktionierte gut.

0

Ich teste eine Anwendung auf einem Android 4.0 (API Level 14) Emulator und sobald ich die App starte, startet der Emulator und sobald er geladen wird, trennt Eclipse DDMS die Verbindung zum Emulator.

Hier ist die Problemumgehung, die ich verwende: Öffnen Sie Terminal, navigieren Sie zu Plattform-Tools (C: \ Android-SDK \ Plattform-Tools \ oder wo immer Sie Ihre Android-SDK installiert haben), und adb kill-server ausführen, und dann ausführen , adb start-server. DDMS sollte nun den Emulator auflisten - aus Java-Perspektive mit der rechten Maustaste auf die App klicken -> Ausführen als -> Android-Anwendung.

Hoffe, das hilft.

0

Mein handlicher Bash-Skript

#!/bin/bash 
./path/to/adb kill-server 
./path/to/adb start-server 
./path/to/adb devices 
3

Es gibt einen einfacheren Weg. Von der Eclipse können Sie das adb von DDMS Panel zurücksetzen. Hier ist ein kurzes Video zu tun, dass "Reset ADB on DDMS"

Hier ist ein kurzer Screenshot, wo Sie die Option erhalten können. enter image description here

+0

Arbeitete für mich. Danke :) – NightFury

+0

Ich habe es gemacht, aber es hat meinen Emulator nicht wieder mit ADB verbunden. – Darpan

Verwandte Themen