如何调试用maven构建的android应用程序

ant*_*ant 10 java android maven-2 maven android-intent

我正在尝试从eclipse调试我的设备上的android应用程序.

设备已添加我可以在控制台和日食中看到它.控制台(Windows):

adb devices
List of devices attached
0019cca27f2e6e  device
Run Code Online (Sandbox Code Playgroud)

和日食:

在此输入图像描述

我可以在设备/模拟器上运行应用程序而不会出现任何问题.我只是这样做clean install,android:deploy然后android:run就像魅力一样.但我还无法弄清楚如何调试它.

但是当我实际在设备上运行应用程序(三星galaxy SII)时,我只能看到这两个进程正在执行com.viber.voip,com.viber.voip:keepAliveReceiver即使我运行它也看不到我的应用程序.但是在模拟器/模拟器上,我可以看到我的应用正在运行.

我已经通过这种材料:

使用android maven插件调试应用启动

如何使用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>
Run Code Online (Sandbox Code Playgroud)

内容debug_app.cmd:

adb shell am start -D android.intent.action.MAIN -n my.package.name/.HelloAndroidActivity
Run Code Online (Sandbox Code Playgroud)

当我执行这个插件时,我得到以下错误:

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 }
Run Code Online (Sandbox Code Playgroud)

这是我的,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>
Run Code Online (Sandbox Code Playgroud)

有没有人设法使用maven来调试设备来构建应用程序?

问题更新:

添加android:debuggable="true"我的应用程序后出现在设备选项卡上,但我遇到了不同的问题(当我点击下面的绿色调试图标时).

请看下面:

在此输入图像描述

我找到了这个解决方法(解决方案除了正确的答案):

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

我接受了以下答案.可能也会有用:

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

pra*_*ant 2

我的做法是

  1. 在 AndroidManifest.xml 文件中启用调试标志。
  2. 在设备上部署应用程序。您现在应该在 Eclipse 调试管理器上看到应用程序的进程 ID。
  3. 现在,在 eclipse run/config 菜单中配置远程 java 应用程序的运行/调试配置。
  4. 输入配置的所有详细信息。端口号将位于图像附件的第三列。
  5. 在设备上启动应用程序后,在 eclipse 中“运行远程​​ java 应用程序配置”。
  6. 您的应用程序现在应该遇到断点(如果有)。