2011-07-28 7 views
13

Observo que esto se ha preguntado antes pero todavía no he encontrado una respuesta. La historia principal de este problema es que Eclipse se detiene en puntos de ruptura cuando el apk se implementó como "Ejecutar"Apk solo se ejecuta en modo de depuración. Apk comenzó con "Ejecutar" en las paradas de Eclipse en los puntos de corte

He hecho esto hasta el momento y ninguno produce una ejecución "Ejecutar" correctamente desde Shell del proyecto -> Ejecutar como -> 1. Aplicación Android

• La desconexión, desinstalación y reinstalación de la aplicación no soluciona el problema (se trata de una tableta, no de un emulador). • Se pueden escribir todos los proyectos del proyecto y la biblioteca utilizando el sistema de archivos
• Los nuevos proyectos funcionan correctamente, por ejemplo no se detienen en puntos de interrupción en el modo "Ejecutar" en el mismo espacio de trabajo de Eclipse que el proyecto
• Ventana -> Preferencias -> Ejecutar/Depurar (expandir) -> Ejecutando "Iniciar en modo de depuración cuando el espacio de trabajo contiene puntos de interrupción" establece en Nunca
• cerrada y abierta Eclipse
• mató a todos los procesos en ejecución en la pestaña "depuración" en esa perspectiva
• limpiarse todo el espacio de trabajo tanto en Eclipse IDE y de forma manual mediante la supresión de la res y carpetas generación de la dependencias del proyecto principal y de la biblioteca
• Comprobado la aparición de la palabra "depuración" en los archivos de compilación del proyecto
• Limpiar el proyecto construido desde la línea de comando utilizando: ant cle un lanzamiento de hormiga entonces

Curiosamente, cuando limpio compilación desde la línea de comandos, entonces instale nuevamente el nuevo apk; si Eclipse está abierto, el depurador se conectará al proceso en ejecución y se detendrá en el primer punto de interrupción. Si se cierra Eclipse, el programa esperará al depurador con el diálogo estándar "Waiting for Debugger".

Por lo tanto, algo se rompe en el proceso de compilación (no se han resuelto todos los archivos que se están involucrando) y/o algo en .metadata y/o algo de depenency.

edición he encontrado un archivo en:

C:\Projects\Mobile\Android\.metadata\.plugins\org.eclipse.debug.core\.launches\MyProjectName.launch 

en el xml:

<launchConfiguration type="com.android.ide.eclipse.adt.debug.LaunchConfigType"> 

No sabe si se trata de una pista, pero si elimino el archivo de Eclipse simplemente lo reemplazará con lo mismo.

edición

* confirmó que el proyecto se ejecuta correctamente cuando se construyó y se ejecuta desde otra máquina, por lo que sospechan que se trata de espacio de trabajo de Eclipse de mi máquina de trabajo que está causando este problema. Tal vez deba descartar todos los metadatos del espacio de trabajo y comenzar de nuevo.

+0

¿Ha intentado con el botón derecho y luego 'Ejecutar como ...-> Aplicación de Android' – Otra

+0

Sí - edits arriba. – jchristof

+1

¿Has matado a adb y lo has vuelto a iniciar? A veces genera comportamientos muy extraños. – neteinstein

Respuesta

1

actualización

Uso Intellij en lugar de Eclipse para el desarrollo de Android (errores de interfaz IDE muchos menos) y luego ignorar por completo el siguiente:

Dos reglas importantes que he encontrado desde la publicación original:

1) Adquiera el hábito de esperar hasta que Eclipse finalice la construcción del espacio de trabajo: el indicador aparece en la esquina inferior izquierda de Eclipse de forma predeterminada. Los tiempos de compilación WS pueden tomar minutos en un proyecto grande con múltiples libs. No cambies nada hasta que la construcción esté completa.

2) Cierre todos los proyectos en el área de trabajo y vuélvalos a abrir uno por vez comenzando con el proyecto sin dependencias de lib, y así sucesivamente. Asegúrese de no abrir un proyecto hasta que pueda verificar que el espacio de trabajo haya terminado de construir lo que ya está abierto. Solucione cualquier problema en el camino antes de abrir el próximo proyecto.

Buena suerte.

2

¿Dijo que tiene puntos de interrupción?

Probar:

Window -> Preferences -> Run/Debug(expand) -> Launching

debería haber una sección titulada "Iniciar en modo de depuración cuando área de trabajo contiene puntos de ruptura"

Si eso no está en "Nunca" que sería su problema .

+0

Me emocioné mucho por un momento: "Nunca" siempre ha sido seleccionado. También intenté cambiarlo y viceversa: "Ejecutar" aún se detiene en puntos de interrupción. – jchristof

0

A veces me sucede. ¿Ha desinstalado completamente la aplicación del teléfono e intentado reinstalarla? ¿Puedes instalar el apk y luego desconectar el auricular de la máquina? (OBV no funcionará si está utilizando un emulador)

+0

Desconectar, desinstalar y volver a instalar el apk no soluciona el problema. Estoy usando un dispositivo físico solo para este proyecto. – jchristof

13

Me encontré con el mismo problema. La solución es reiniciar tu dispositivo. Buena suerte.

+2

Odio resolver las cosas de esta manera, pero es lo único que funcionó para mí. – svachalek

+0

Odio también, pero a veces realmente funciona. :) –

1

He encontrado el mismo problema: podría ejecutar mi aplicación solo en modo de depuración, pero no se iniciará correctamente cuando presione el botón 'ejecutar'. He intentado todas las soluciones aquí, pero nada funciona para mí.

Después de un tiempo, he encontrado android.os.Debug.waitForDebugger(); en el comienzo de mi actividad. Espero que esta respuesta a veces ayude a alguien, porque esta pregunta fue primero en Google, cuando busco ayuda.

2

tengo el mismo problema y necesito 4 pasos para resolverlos:

  1. Desconectar el dispositivo
  2. reiniciar el dispositivo
  3. limpieza y construcción de todos los proyectos en espacio de trabajo.
  4. Inicie la aplicación en el emulador en el modo Ejecutar y compruebe que está correcta.
  5. Inicie la aplicación en el dispositivo en el modo Ejecutar y todo funciona correctamente.

¡Solo reiniciar el dispositivo no funciona para mí!

0

Se enfrentó el mismo problema en Samsung S4 y el problema se solucionó desactivando la opción "Esperar depurador" en "Opciones de desarrollador".

0

tenían el mismo problema, compruebe que no se tiene esta línea de código en cualquier parte de su proyecto:

android.os.Debug.waitForDebugger(); 

Puede existir en un servicio para fines de depuración, una vez que usted comenta que va a trabajar a cabo en modo de lanzamiento. El problema es que esta línea de código espera al depurador, y si no está ejecutando en modo de depuración esperará indefinidamente

Cuestiones relacionadas