2012-07-05 16 views
10

Attualmente sto cercando di eseguire il debug dell'applicazione Android sul mio dispositivo da Eclipse.Come eseguire il debug dell'applicazione Android creata con Maven

Il dispositivo è stato aggiunto Posso vederlo sia in console che in eclissi. Console (Windows):

adb devices 
List of devices attached 
0019cca27f2e6e device 

E l'eclissi:

enter image description here

posso eseguire l'applicazione senza problemi su entrambi i dispositivi/simulatore. Ho appena fatto clean install e android:deploy seguito da android:run e funziona come un fascino. Ma non riesco ancora a capire come eseguire il debug.

Ma quando eseguo effettivamente l'applicazione sul dispositivo (Samsung Galaxy SII), posso vedere solo questi due processi in esecuzione com.viber.voip e com.viber.voip:keepAliveReceiver Non vedo la mia app anche se la eseguo. Tuttavia sul simulatore/emulatore posso vedere la mia app in esecuzione.

Ho passato attraverso questo materiale:

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

non si può rompere il codice. Anche provato con maven-exec-plugin avviare il debug eseguendo lo script sotto, qui è che plug-in pom:

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

Il contenuto di debug_app.cmd:

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

Quando eseguo questo plugin ricevo il seguente errore:

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 } 

Ecco il mio manifest.xml se ciò che è necessario:

<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> 

Qualcuno ha riescono a eseguire il debug del dispositivo utilizzando Maven per costruire l'applicazione?

aggiornamento Domanda:

Dopo aver aggiunto il android:debuggable="true" mio app è comparso sulla scheda dispositivi, ma ho incontrato questione diversa (quando clicco sull'icona verde di debug sotto).

Si prega di vedere di seguito:

enter image description here

ho trovato questa soluzione (soluzione in aggiunta alla risposta corretta):

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

E ho accettato risposta sotto. Potrebbe venire utile pure:

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

risposta

2

Il modo in cui lo faccio è,

  1. Abilita bandiera di debug nel file di AndroidManifest.xml.
  2. Distribuire l'app sul dispositivo. Ora dovresti vedere l'id di processo della tua applicazione sul gestore di debug di eclipse.
  3. Ora, configurare una configurazione di esecuzione/debug dell'applicazione java remota nel menu eclipse run/config.
  4. Immettere tutti i dettagli della configurazione. Il numero di porta sarà 3a colonna dal tuo allegato immagine.
  5. Dopo l'avvio dell'applicazione sul dispositivo "eseguire la configurazione dell'applicazione java remota" in eclissi.
  6. L'applicazione dovrebbe ora toccare i punti di interruzione, se presenti.
+0

alcune cose sono cambiate Ho una domanda aggiornata. grazie – ant

+0

SDK Tools, Revisione 8 ha fornito il supporto per il debug e gli sviluppatori non devono includere l'attributo android: debuggable nel file manifest (U potrebbe avere una chiara comprensione in profondità all'indirizzo http://stackoverflow.com/questions/23986724/can-not-set-debuggable-flag-in-AndroidManifest-xml) –

Problemi correlati