2012-07-05 20 views
10

Actualmente estoy tratando de depurar aplicaciones para Android en el dispositivo de eclipse.cómo depurar la aplicación androide construido con Maven

dispositivo se ha añadido lo puedo ver tanto en la consola y en eclipse. Consola (Windows):

adb devices 
List of devices attached 
0019cca27f2e6e device 

y el eclipse:

enter image description here

que pueden ejecutar la aplicación sin ningún problema tanto en el dispositivo/simulador. Acabo de hacer y clean installandroid:deploy seguido por android:run y funciona como un encanto. Pero todavía no puedo descifrar cómo depurarlo.

Pero cuando realmente ejecuto la aplicación en el dispositivo (Samsung Galaxy SII) solo puedo ver estos dos procesos ejecutando com.viber.voip y com.viber.voip:keepAliveReceiver No veo mi aplicación incluso si la ejecuto. Sin embargo, en el simulador/emulador puedo ver mi aplicación ejecutándose.

He ido a través de este material:

debugging an app startup with android maven plugin

How to start application in command line with Maven

http://code.google.com/p/maven-android-plugin/wiki/Debug

no puede romper el código. Incluso trató con maven-exec-plugin iniciar la depuración mediante una llamada al script de debajo, aquí es que el plugin de pom:

<plugin> 
      <artifactId>exec-maven-plugin</artifactId> 
     <groupId>org.codehaus.mojo</groupId> 
     <configuration> 
      <executable>${basedir}/scripts/debug_app.cmd</executable> 
     </configuration> 
</plugin> 

El contenido de debug_app.cmd:

adb shell am start -D android.intent.action.MAIN -n my.package.name/.HelloAndroidActivity 

Cuando ejecuto este plugin me sale el siguiente error:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=android.intent.action.MAIN } 
Error: Activity not started, unable to resolve Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=android.intent.action.MAIN } 

Aquí es mi manifest.xml si lo que se necesita:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.SET_DEBUG_APP" > 
</uses-permission> 

<!-- <uses-permission android:name="android.permission.INTERNET" /> --> 

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <activity android:name=".HelloAndroidActivity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".DisplayMessageActivity" > 
    </activity> 
</application> 

Alguien ha arreglan para depurar el dispositivo utilizando Maven para construir la aplicación?

actualización Pregunta:

Después de añadir el android:debuggable="true" mi aplicación apareció en la ficha de dispositivos, pero me encuentro con tema diferente (al hacer clic en el icono verde de depuración abajo).

favor ver más abajo:

enter image description here

que he encontrado esta solución (solución, además de la respuesta correcta):

http://code.google.com/p/android/issues/detail?id=9932

Y he aceptado respuesta abajo. Podría venir útil, así:

https://groups.google.com/forum/?fromgroups#!topic/android-developers/DftP5gYcwYI

Respuesta

2

La manera de hacerlo es,

  1. Activar indicador de depuración en el archivo AndroidManifest.xml.
  2. Implementar la aplicación en el dispositivo. Ahora debería ver la identificación del proceso de su aplicación en el administrador de depuración de eclipse.
  3. Ahora, configure una configuración de ejecución/depuración de la aplicación Java remota en el menú eclipse run/config.
  4. Ingrese todos los detalles de la configuración. El número de puerto será la tercera columna de su archivo adjunto de imagen.
  5. Después de iniciar la aplicación en el dispositivo "ejecutar la configuración remota de la aplicación java" en eclipse.
  6. Su aplicación ahora debe llegar a los puntos de interrupción, si corresponde.
+0

algunas cosas cambiaron He actualizado la pregunta. gracias – ant

+0

SDK Tools, Revisión 8 proporcionó el soporte para la depuración y los desarrolladores no tienen que incluir el atributo android: depurable en el archivo de manifiesto (U podría tener una comprensión clara en profundidad en http://stackoverflow.com/questions/23986724/can-not-set-debuggable-flag-in-androidmanifest-xml) –

Cuestiones relacionadas