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

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

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

adb devices
List of devices attached
0019cca27f2e6e  device

和日食:

我可以在设备/模拟器上运行应用程序而没有任何问题.我只是做干净的安装和android:部署后跟android:运行和工作像一个魅力.但是我不知道如何调试它.

但是当我实际上在设备上运行应用程序(Samsung galaxy SII)时,我只能看到这两个进程执行com.viber.voip和com.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”后,我的应用程序出现在设备选项卡上,但我遇到不同的问题(当我点击下面的绿色调试图标).

请参阅下文 :

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

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

我已经接受了下面的回答.也可能有用的:

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

解决方法

我做的方式是,

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...