2010-02-10 25 views
40

Después de iniciar el emulador presionando Debug en Eclipse, después de cierto tiempo se desconecta del ADB, pero el emulador permanece abierto. Responde, puedo navegar e iniciar aplicaciones.¿Cómo adjuntar el emulador de Android a ADB?

¿Cómo puedo volver a conectar el emulador a ADB, para poder depurar desde Eclipse?

(la solución actual es la terminan el emulador, cerca Eclipse y reinicie ambos de ellos, que tarda 10 minutos, ya que se conoce el emulador necesita tiempo para poner en marcha)

EDIT 1
Control hacia fuera este imagen:

enter image description here

EDITAR 2

Después de matar y reiniciar el servidor. Un proceso de emulador aparece en la pestaña Dispositivos en Eclipse. Pero eso no se puede expandir, y no veo subprocesos.
No puedo golpear ya la depuración, como dice: Depurar ya se está ejecutando. (¿Cómo detener la depuración?)

Si logré iniciar la depuración de otro proyecto, se cuelga en el emulador y me dice: Esperando que se adjunte el depurador. No pasa nada.

Respuesta

92

Como dijiste, el problema no es que Eclipse pierda contacto con el emulador, sino que ADB - el Android Debug Bridge - pierde contacto con él. Como Eclipse usa ADB para comunicarse con el emulador cuando ADB se rompe, Eclipse no puede hacer nada.

Para solucionar este stop the ADB server ejecutando el siguiente comando:

adb kill-server 

Eclipse entonces por lo general se intenta reiniciar el BAD, o se puede reiniciar por sí mismo mediante la ejecución de un comando ADB, tales como:

adb devices 

Si lo hace, verá una salida como ésta:

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

usted ca n también haga esto con el mouse, usando la opción Restablecer adb en la vista Dispositivos en Eclipse.

alt text

Es también digno de mención el vista consola tiene dos modos, DDMS y Android. Generalmente está en el modo Console, pero es el modo DDMS que muestra los mensajes de estado de ADB. Seleccionar los modos haciendo clic en el botón con el icono del monitor, o el uso de la flecha al lado de él:

alt text

Si todo lo demás falla, intenta matar a los procesos adb desde el sistema operativo. En Windows XP utilizo:

TASKKILL /F /IM adb.exe 
+0

¡Completo! :) –

+0

No puedo hacer esto con el mouse, usando la opción Restablecer adb en la vista Dispositivos en Eclipse porque todo lo que hay está atenuado. Verifique mi edición arriba. – Pentium10

+0

@ Pentium10: intente eliminar los procesos de adb del sistema operativo, ya que a veces esto ayuda. A continuación, intente reiniciar Eclipse, que para mí es más rápido que reiniciar el emulador. –

1

En ocasiones, un servidor de eliminación no funciona en mi máquina (WinXP).Por ejemplo, no puedo ver el emulador en el DDMS-View más o lo veo, pero no hay procesos que se ejecutan en él.

En estos casos, cierro el emulador y el eclipse y elimino manualmente el proceso adb.exe de la lista de procesos.

Cuando reinicio eclipse y el emulador, todo vuelve a estar bien.

Ahora sólo necesitan un teclado de acceso directo para que :-)

1

en un Mac, sólo tenía que matar a ADB del gestor de la actividad y de forma manual volver a abrir el programa de nuevo. tenía un eclipse abierto y funcionó bien.

0

Estoy probando una aplicación en un emulador de Android 4.0 (API nivel 14) y una vez que ejecuto la aplicación, el emulador se inicia y tan pronto como se carga, Eclipse DDMS se desconecta del emulador.

He aquí la solución que estoy usando: abra el terminal, navegue a las herramientas de plataforma (C: \ android-sdk \ platform-tools \ o donde tenga instalado su android-sdk), y ejecute adb kill-server, y luego ejecútelo , adb start-server. DDMS debería ahora listar el emulador: desde la perspectiva de Java, haga clic con el botón derecho en la aplicación -> Ejecutar como -> Aplicación de Android.

Espero que esto ayude.

0

Mi mano escritura del golpe

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

Hay una manera más fácil. Desde eclipse puede restablecer el adb desde DDMS panel. Aquí hay un breve video sobre cómo hacer eso "Reset ADB on DDMS"

Aquí hay una captura de pantalla rápida de donde puede obtener la opción. enter image description here

+0

funcionó para mí. Gracias :) – NightFury

+0

Lo hice pero no conectó mi emulador de nuevo a ADB. – Darpan