¿Cómo resolver el mensaje "Esperando depurador"?

94

Tengo HTC Comet conectado a Eclipse con SDK 2.2. Hago una compilación de depuración: la aplicación no se ejecuta; aunque se instala en el dispositivo. En el dispositivo aparece este cuadro de mensaje en la pantalla de Comet

Esperando la
aplicación del depurador HunyDew (proceso com.airvine.hunydew) está esperando que se conecte el depurador.
[Forzar cierre]

Mientras que en la consola de Eclipse obtengo este conjunto de mensajes

[2010-12-07 01:42:29 - hunydewprj] Android Launch!  
[2010-12-07 01:42:29 - hunydewprj] adb is running normally.  
[2010-12-07 01:42:29 - hunydewprj] Performing com.airvine.hunydew.HunyDewAAStartsHere activity launch  
[2010-12-07 01:42:47 - hunydewprj] Application already deployed. No need to reinstall.  
[2010-12-07 01:42:47 - hunydewprj] Starting activity com.airvine.hunydew.HunyDewAAStartsHere on device 308730C861BC  
[2010-12-07 01:42:49 - hunydewprj] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.airvine.hunydew/.HunyDewAAStartsHere }  
[2010-12-07 01:42:49 - hunydewprj] Attempting to connect debugger to 'com.airvine.hunydew' on port 8601  
[2010-12-07 01:43:09 - hunydewprj] Launch error: Failed to connect to remote VM. Connection timed out.  

La aplicación funciona bien en el emulador, por favor, ayuda, ¿qué es lo que me falta aquí? ¿Alguna pista / sugerencia? Gracias

Abhi
fuente
2
¿Tiene activada la opción "Depuración de USB" en su teléfono? Configuración - Aplicaciones - Desarrollo - Depuración de USB.
Jesús Oliva
Esa opción se configuró en el teléfono.
Abhi
Lo entendí y recuerdo que desapareció después de unos segundos y luego la aplicación finalmente se iniciaría. ¿Estás entendiendo eso?
Chaimp
15
Esto sucede a menudo si tiene más de 1 instancia de Eclipse abierta ... la única solución que he encontrado es cerrar otras instancias; si alguien tiene una mejor solución, ayude.
nikib3ro
Para mí, la solución que se describe a continuación funcionó. martinahrer.at/2009/04/16/…

Respuestas:

68

Algunos dispositivos solo permitirán que el depurador se conecte si la aplicación tiene el permiso android.permission.SET_DEBUG_APP establecido en su archivo de manifiesto:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 
Iain
fuente
8
Faltaba esto, lo agregué, y el comportamiento siguió siendo el mismo, no funciona
Abhi
¿Su teléfono es accesible en el puerto 8601? Si en el eclipse vas al menú Ventana -> Mostrar vista -> Otro -> Android -> Dispositivos, ¿esa vista muestra tu aplicación escuchando en ese puerto?
Iain
sí, el teléfono parece estar accesible en el puerto 8601 - Si hago una captura de pantalla (del dispositivo) desde Eclipse, funciona.
Abhi
23
Tenía el mismo problema, excepto que me lo estaba encontrando con el emulador de Android. Descubrí que si pones tu computadora en suspensión mientras Eclipse o el emulador se están ejecutando, se estropea la conexión entre ellos. Mi problema desapareció después de reiniciar tanto el emulador como Eclipse.
Vivek
1
Gran ayuda, en realidad seguí la ayuda de Viveks. Nunca agregué esa línea al manifiesto, pero en realidad dejé que mi máquina se durmiera. Después de reiniciar tanto el emulador como Eclipse, volví a estar en funcionamiento. gracias
wired00
51

El cuadro de diálogo Esperando depurador se muestra si está creando una aplicación de depuración o en algún lugar de su código fuente, llamó a Debug.waitingForDebugger ();

Dentro de Android Studio 2.0 y superior, hay una opción de Adjuntar depurador al proceso de Android. Es el último elemento del menú en el menú Ejecutar.

Captura de pantalla de las opciones del menú Ejecutar en Android Studio

Victor Mwenda
fuente
Gracias - este era exactamente mi problema - Android N - Google Pixel - IntelliJ
bsautner
2
Antes de hoy nunca tuve que hacer esto, pero ahora tengo que hacerlo. Debo haber cambiado un ajuste accidentalmente. ¿Pero cuál?
Eurig Jones
Gracias, esto es ayuda
eigenfield
19

No estoy seguro de si esto es lo que está buscando, pero intente poner:

android:debuggable="true"

en la etiqueta de la aplicación en el AndroidManifest.xml

Prateek Jain
fuente
Gracias - sí, tengo eso
Abhi
13
Eso no tiene nada que ver con su problema, Eclipse habilita automáticamente la depuración cuando se inicia en modo de depuración. NO desea agregar eso a su manifiesto a menos que desee específicamente que sus versiones de lanzamiento generen información de depuración.
Justin Buser
Eliminé esta línea: android: debuggable = "false", y ahora funciona perfectamente.
dbv
10

Tengo este problema durante mucho tiempo que no puedo hacer que mi emulador o dispositivo de Android se conecte al depurador mientras tanto la consola como el emulador estaban esperando para conectarse al depurador .

Y la configuración para la depuración dentro de eclipse también me confundió mucho antes, pero hoy, resolví este problema mediante los siguientes pasos:

Cuando desee depurar un proyecto de Android, por ejemplo, mypro . haría clic derecho sobre él en el "Package Explorer". Then choose "Debug as"-->"Android Application".

Entonces, el emulador podría detenerse en "Esperando conectarse al depurador" (o algo similar a esto).

Luego, debe conectarse al depurador usted mismo haciendo clic en "DDMS" para abrir la perspectiva DDMS y hacer clic en la pestaña "Dispositivos" .

Luego, puede ver una lista de procesos que se están ejecutando en su emulador o dispositivo.

Haga doble clic en el que está depurando, luego cambie a la perspectiva de depuración, puede ver que el depurador está conectado y puede depurar su programa. Así resolví este problema.

Por cierto, mi sistema operativo es Win7 de 32 bits. La versión de Eclipse es Helios Service Release 2. Android SDK es rev. 16 y herramientas de plataforma '10.

Actualizar.

Descubrí que es el problema de mi configuración de TCP / IP. El depurador no se puede conectar cuando asigno una dirección IP estática (para acceder a Internet).

Entonces, cada vez que el depurador no puede conectarse, siempre hago los siguientes pasos:

1.Cerrar la ventana actual del eclipse.

2.Cambie la configuración de la dirección IP a dinámica , significa obtener una dirección IP por DHCP .

3.abre el eclipse de nuevo.

entonces, el depurador puede conectarse. Pensé que podría ser un problema del mecanismo interno del depurador de Java que usa la conexión de socket.

Stevens
fuente
4
"2.Cambie la configuración de la dirección IP a dinámica, significa obtener una dirección IP mediante DHCP". ¿Cómo haces esto? ¡Aclare por favor!
Ksice
@Ksice Hola, eso significa "Recuperar una dirección IP dinámicamente". En realidad, el mecanismo interno del depurador de Android se basa en el protocolo TCP / IP, por lo que cuando utiliza una dirección IP estática, parece que el sistema no puede conectar su dispositivo terminal o emulador con el depurador
Stevens
10

Recibo esto si cambio el cable USB a un puerto diferente en mi PC, extraño, pero funciona cuando lo vuelvo a cambiar. También creo que tengo esto cuando ha habido otro dispositivo o emulador ejecutándose al mismo tiempo, o dos instancias de Eclipse abiertas.

Andy
fuente
Lo mismo para mí, no parecía que tuviera dos instancias de Eclipse abiertas, pero la pestaña de procesos del Administrador de tareas de Windows las mostraba.
Andrew Martin
Sí, tienes razón, tuve dos instancias de eclipse en ejecución. Después de cerrar la segunda instancia de eclipse, se resolvió el problema.
Signcodeindie
Si ha estado probando el desarrollo de Android IntelliJ IDEA, esto también puede suceder si tiene Eclipse e IntelliJ abiertos al mismo tiempo.
SilithCrowe
Me las arreglé para entrar en esta situación al tener dos instancias de IntelliJ IDEA depurando dos aplicaciones al mismo tiempo. Después de eso, una de las aplicaciones ya no se iniciaba, seguía diciendo "Esperando depurador". Finalmente lo arregló desconectando el cable USB y apagando y volviendo a encender el dispositivo.
RenniePet
4

Para aquellos que obtienen este comportamiento molesto en 4.2.2, deben desmarcar la configuración de "esperar al depurador" en las opciones del desarrollador. Por supuesto, Google ocultó esas opciones y tienes que hacer un truco furtivo para que vuelvan a aparecer. Los había puesto antes de que desaparecieran y no pude encontrarlos de nuevo por mi vida.

Esta página explica el procedimiento

Juan
fuente
Podemos volver a activar esas opciones, supongo que lo descubrí. pero gracias, esto ayudó.
stack_ved
3

Al ejecutar Android Studio, me encontré con este problema y, después de probar varios remedios, el reinicio de Android Studio fue lo que pareció solucionar el problema.

ThomasW
fuente
3

Mi solución es utilizar Dalvik Debug Monitor. A veces hay un error rojo o verde al lado de un proceso. Haga clic en el dispositivo en el que está intentando cargar. Seleccione la pestaña Acciones y restablezca adb. Esto generalmente adjunta el depurador por mí. Me parece que hacer la depuración a través de este Monitor funciona mejor para mí que usar el complemento Logcat de Android Eclipse.

karol
fuente
Puedo confirmar que restablecer el ADB (a través de la pestaña Acciones) como describió me solucionó este problema. Esto está depurando con un emulador que ejecuta 4.0.
ubzack
1
¿Puede explicar lo que quiere decir con lo siguiente: "Mi solución es usar el Monitor de depuración de Dalvik. A veces hay un error rojo o verde al lado de un proceso. Haga clic en el dispositivo que está intentando cargar. Seleccione la pestaña Acciones y restablecer adb ". ¿Cuáles son los pasos para hacer esto?
Regis_AG
2

Cerrando el emulador y cerrando eclipse. Reabrir Eclipse e iniciar el simulador funcionó para mí.

La clave a buscar es en el panel Dispositivos de Eclipse. Si inicia el emulador o dispositivo y aparece en la lista de nombres de dispositivo pero dice [nulo] y no se muestran procesos en ejecución debajo de él, entonces no funcionará correctamente al cargar su aplicación en él.

Si aparece el nombre del dispositivo y está en línea, las cosas parecen funcionar sin problemas.

Sin embargo, no sé por qué no funciona todo el tiempo.

CQM
fuente
2

En mi caso, el problema es causado por adb conectado con otro dispositivo.

Si varios dispositivos están conectados en la PC, quite otros dispositivos excepto el requerido.

Gilchris
fuente
2

Termino entrando en una perspectiva de "depuración".

Luego, en el marco "Debug", hay una lista de depuración o una lista en ejecución.

Tienes que decidir cuál es tu actual que tiene este problema (Esperando depuración ...)

Luego haga clic derecho y elija "Terminar y quitar".

Luego intentas correr de nuevo. Y ese cuadro de advertencia desaparecerá.

Apisarn Sasuk
fuente
2

Reiniciar el teléfono fue la solución para mí.

Stoica Mircea
fuente
1

Si su entorno de desarrollo es Windows, asegúrese de que los controladores USB estén instalados correctamente.

Una forma de asegurarse de que los controladores USB estén instalados correctamente es obtener el instalador de Windows de PDANet y dejar que instale los controladores USB.

Puede encontrar la página de PDANet aquí.

JimR
fuente
Podría hacerlo funcionar sin tener que descargar el PDANet. Simplemente rehice todo, incluida la desinstalación de la aplicación anterior, usando la desinstalación de adb (anteriormente estaba usando el Applet de configuración para desinstalar la aplicación). Gracias por publicar sobre PDANet. Hasta ahora, la sugerencia de Lain era la única que me faltaba, pero su respuesta fue antes de que se ofreciera la recompensa. También me gusta tu respuesta, espero que alguien más vote tu respuesta, si eso sucede, entonces tú y Lain pueden compartir la recompensa, el sistema no me permite dividir la recompensa.
Abhi
Eso no tiene nada que ver con su problema, los controladores ya están claramente instalados, ya que la salida de la consola muestra que ADB consulta el dispositivo y encuentra que la aplicación ya está instalada y luego la ejecuta.
Justin Buser
1

Intentaría conectarme al teléfono con ddms por sí solo sin Eclipse. Es posible que esté ejecutando un emulador dentro de eclipse que no ve o que tenga otros problemas con Eclipse.

Simplemente ejecute ddms desde un símbolo del sistema y vea si el dispositivo aparece y puede conectarse a él.

También puede ver si aparece cuando ejecuta adb devicesy ver que su teléfono está en la lista (y puede haber algo más ..)

Manfred Moser
fuente
1

Tuve el mismo problema, sé que no estaba ejecutando ninguna otra instancia y pude verlo con adb devices. Acabo de reiniciar el eclipse y funcionó.

b-ryce
fuente
1

Reiniciar la PC fue lo único que funcionó para mí. Funcionó cuando tuve este problema con un teléfono con Android 2.2 y también con una tableta con Android 3.1.

Sr. Bungle
fuente
Funcionó para mí, puede ser una coincidencia, pero había una actualización de Windows esperando.
OldCurmudgeon
1

Resolví este problema de esta manera:

Vaya al menú Ejecutar ====> haga clic en Editar configuraciones ==== > Micellaneo y finalmente desmarque la opción Omitir instalación si el APK no ha cambiado

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Marco Aurelio Silva
fuente
0

Hoy me encontré con este problema. Después de pasar la mayor parte del día tratando de arreglarlo, lo único que terminó funcionando fue crear un nuevo espacio de trabajo e importar mi proyecto en él. Espero que esto ayude a alguien a evitar todos los problemas por los que pasé.

JP2014
fuente
0

También planteo este problema. En mi entorno, uso un Tomcat como servidor y Android como cliente. Encontré, si se inicia Tomcat, este error "Error de inicio: no se pudo conectar a la máquina virtual remota. Se agotó el tiempo de espera de la conexión". ocurrira. Si no se ejecuta tomcat, adb funciona bien.

Daniel
fuente
0

Probé todas las soluciones anteriores, a veces soluciona el problema, pero de vez en cuando me quedo atascado con el cuadro de mensaje "Esperando que el depurador adjunte".

La solución final en mi caso fue desenchufar todos los dispositivos Android menos el que quiero depurar. No sé cuál es el culpable: el Nexus 7 con JB 4.2, el HTC One X con ICS, el HTC Desire S con Gingerbread o la combinación del 3, pero tan pronto como solo tengo un dispositivo conectado , corre suave como la seda.

Alexis paloma
fuente
0

Usé el Administrador de tareas para matar adb.exe para resolver este problema. Adb.exe se iniciará automáticamente después de ser eliminado.

Matar adb.exe me ha resuelto muchos problemas relacionados con la depuración y los emuladores hasta ahora.

Hong
fuente
0

Para los usuarios de Android Studio , encontré este problema la primera vez al intentar ejecutar un proyecto básico justo después de actualizar mi ubicación jdk . Así que me encontré con esta publicación. En mi caso, el simple Build-> Clean Project hizo el trabajo.

Argumento ilegal
fuente
0

También estaba teniendo el mismo problema al usar Android Studio y GenyMotion. Puedo resolver este problema pausando el programa y reanudándolo nuevamente después de que se muestre el mensaje "Esperando depurador". También puede funcionar mientras se utilizan otros IDE y emuladores.ingrese la descripción de la imagen aquí

Suresh Subedi
fuente
0

Android Studio 1.2.2 en Mac OS 10.10 El mismo problema que otros han informado. Cerré Android Studio, luego verifiqué desde la línea de comando en la terminal:

ps -efw | grep -i android

Esto informó un proceso de Java (.gradle / daemon) asociado con Android Studio. Maté este proceso, reinicié Android Studio y el problema desapareció.

Blisterpeanuts
fuente
0

deshabilite la opción de desarrollador en su teléfono.

Configuración> Opción de desarrollador> Desactivar

Esto funcionó para mí, cuando intenté usar mi aplicación sin depurarla.

Fazal
fuente
0

Lo que resolvió el problema para mí fue: "Ejecutar" -> "Adjuntar depurador al proceso de Android" y luego seleccionar su proceso.

Haces esto en Android Studio.

Sid
fuente
0

Tuve el mismo problema, lo solucioné seleccionando explícitamente el dispositivo deseado en la configuración de depuración. Desafortunadamente, incluso después de ese registro, a veces se detiene cuando el depurador intenta conectarse. En este caso, en la perspectiva de DDMS, busque el proceso deseado. Se resaltará con un error verde. Haga clic en detener y luego vuelva a depurarlo.

Andrey Talnikov
fuente
0

Esto puede ser antiguo, pero para la última actualización 2.7.1 de Genymotion, vaya a Opciones de desarrollador , si en caso de que no sepa cómo abrir esa opción, vaya a Acerca del teléfono y haga clic en Número de compilación varias veces y se habilitarán las opciones de desarrollador. Active la opción de desarrollador, marque la depuración de USB .

Probado en Genymotion 4.4 y versiones posteriores. Extraña solución ¿eh? Pero definitivamente funciona. Espero eso ayude. Codificaciones felices.

ralphgabb
fuente
0

En el modo de depuración, Android Studio se conecta a su dispositivo a través del conector (: 8600). De alguna manera, su conexión de socket se ahoga y, por lo tanto, no responde a las conexiones entrantes.

Reinicie Android Studio y su problema se resolverá

HimalayanCoder
fuente
-1

He leído mucho sobre esto y la única solución que funcionó para mí fue crear un nuevo proyecto y luego copiar el antiguo proyecto en él.

pstorli
fuente