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

使用android maven插件调试应用程序启动,android,debugging,plugins,maven,startup,Android,Debugging,Plugins,Maven,Startup,我正在使用最新版本的android maven插件。我使用android:deploy和android:run在我的设备上启动我的应用程序。当我想要调试时,我进入eclipse中的DDMS,检查我的应用程序的绿色bug图标。一切正常。。。但我只能调试一个正在运行的应用程序。如果我在应用程序构造函数或onCreate中放置断点,它不会停止(显然是因为应用程序已经启动,调试还没有激活…) 所以我的问题是:我怎样才能直接从maven以调试模式启动我的应用程序,就像我从eclipse启动的应用程序一样

我正在使用最新版本的android maven插件。我使用android:deploy和android:run在我的设备上启动我的应用程序。当我想要调试时,我进入eclipse中的DDMS,检查我的应用程序的绿色bug图标。一切正常。。。但我只能调试一个正在运行的应用程序。如果我在应用程序构造函数或onCreate中放置断点,它不会停止(显然是因为应用程序已经启动,调试还没有激活…)

所以我的问题是:我怎样才能直接从maven以调试模式启动我的应用程序,就像我从eclipse启动的应用程序一样


谢谢你,不用android:deploy和android:run,你只需通过eclipse而不是maven在调试中启动应用程序。要做到这一点,您必须正确配置项目

您可以使用部署和启动它。要进行调试,我想并且希望您只需要更改一些参数。

多亏了Lukasz,我在Idea中找到了触发调试模式的命令。 基本上,应用程序是用android:deploy部署的,但是我没有用android:run,而是用-D启动了一个shell“am”命令

ovh-ybi$ adb shell
# am
usage: am [subcommand] [options]

start an Activity: am start [-D] <INTENT>
    -D: enable debugging

send a broadcast Intent: am broadcast <INTENT>

start an Instrumentation: am instrument [flags] <COMPONENT>
    -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
    -e <NAME> <VALUE>: set argument <NAME> to <VALUE>
    -p <FILE>: write profiling data to <FILE>
    -w: wait for instrumentation to finish before returning

start profiling: am profile <PROCESS> start <FILE>
stop profiling: am profile <PROCESS> stop

<INTENT> specifications include these flags:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [-n <COMPONENT>] [-f <FLAGS>] [<URI>]
ovh ybi$adb外壳
#上午
用法:am[子命令][选项]
启动活动:am start[-D]
-D:启用调试
发送广播意图:am广播
启动仪表:am仪表[标志]
-r:打印原始结果(否则解码报告\u键\u流结果)
-e:将参数设置为
-p:将分析数据写入
-w:等待仪器完成后再返回
开始配置文件:am配置文件开始
停止配置文件:am配置文件停止
规范包括以下标志:
[a][d][t]
[-c[-c]…]
[-e|--es…]
[--ez…]
[-e |--ei…]
[-n][f][]

您是否根据文档()中的建议确认了Eclipse设置?是的,先生!这就是我在问题的第一部分所描述的。它与文档中的一样运行良好。但不是在启动时!谢谢你的回答。这有点难以实现,因为Maven和Eclipse看不到相同的东西。我花了一个小时来尝试。这也意味着要失去maven的依赖系统,并在eclipse中以某种可怕的方式改变LIB的管理。主要问题:eclipse试图在apk中插入一个带有javax的libs。。。而达尔维克并不喜欢这样。为什么eclipse会这样做?不知道?哪里我也不知道。我用Idea代替Eclipse。也许你可以试试这个?我们在Eclipse中的项目经常中断。正因为如此,我不得不使用速度更快的设备:在ddms中单击调试时使用我,或者在启动应用程序时使用它。在观念上,大多数时候一切都是好的。我可以从IdeaI安装的Idea以调试模式启动应用程序,只是为了尝试一下,它会给我我想要的信息。谢谢卢卡斯。请看下面的答案。这很有趣,谢谢。但是我没有找到任何激活调试的方法。文档中没有这样做的参数。但这是文档。我认为您需要指定一个端口,并将调试器连接到该端口。。。我现在就是这样做的。如果你仔细阅读,你会看到应用程序启动了(第2点),并且只有在调试启动后(第5点)。我想要的是,当应用程序启动时,调试同时开始。很抱歉浪费您的时间。我会在启动真正的调试过程之前附加调试器,并将超时设置得足够高(至少在Netbeans中有一个选项)。此外,您还可以在关键断点之前引入睡眠,或者只使用eclipse,或者使用启动实际活动意图的不同活动,等等。要有创意:)!我刚刚在引用的帖子中添加了一条评论,但我认为在这里添加也是一个好主意。您可以使用-Dandroid.run.debug=true在应用程序启动时激活调试。