2012-07-05 108 views
10

我目前正在嘗試從eclipse調試我的設備上的android應用程序。如何調試使用maven構建的android應用程序

設備已添加我可以在控制檯和eclipse中看到它。控制檯(Windows)中:

adb devices 
List of devices attached 
0019cca27f2e6e device 

和Eclipse:

enter image description here

我可以毫不兩個設備/模擬器任何問題,運行應用程序。我只是做clean installandroid:deploy其次android:run和作品像魅力。但我不知道如何調試它。

但是當我真的在設備上運行應用程序(三星Galaxy SII)時,我只能看到這兩個進程執行com.viber.voipcom.viber.voip:keepAliveReceiver即使我運行它,我也沒有看到我的應用程序。但是在模擬器/模擬器上,我可以看到我的應用程序正在運行。

我已經走了低谷這種材料:

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

不能壞了規矩。即使maven-exec-plugin試圖通過下面調用腳本開始調試,這裏是POM該插件:

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

debug_app.cmd內容:

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

當我執行這個插件我得到以下錯誤:

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 } 

這是我manifest.xml如果需要:

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

有沒有人管理調試使用Maven構建應用程序的設備?

問題更新:

加入android:debuggable="true"我的應用程序後出現的設備選項卡上,但我遇到不同的問題(當我點擊綠色調試圖標下方)。

請參閱以下內容:

enter image description here

我發現這個解決辦法(除正確答案的解決方案)

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

而且我接受的答案下面。可能出現有用的:

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

回答

2

我做的事情是這樣的,

  1. 啓用AndroidManifest.xml文件調試標誌。
  2. 在設備上部署應用程序。你現在應該在eclipse調試管理器上看到你的應用程序的進程ID。
  3. 現在,在eclipse run/config菜單中配置遠程java應用程序的運行/調試配置。
  4. 輸入配置的所有詳細信息。端口號將是您圖像附件的第3列。
  5. 在eclipse中啓動設備上的應用程序「運行遠程​​Java應用程序配置」。
  6. 您的應用程序現在應該打中斷點(如果有的話)。
+0

有些事情發生了變化我更新了問題。謝謝 – ant 2012-07-05 14:32:11

+0

SDK工具修訂版8提供了對調試的支持,開發人員不必在清單文件中包含android:debuggable屬性(U可以深入瞭解http://stackoverflow.com/questions/23986724 /可-未設置可調試標誌合androidmanifest-XML) – 2014-12-29 06:45:50

相關問題