我有一个包含 3 个子项目的 Eclipse 工作区
- myMp3TagBusineslogic(可用于 android 和 j2se 的库)
- myMp3TagActivity_插件(使用 myMp3TagBusineslogic 的 Android Activity ,可以由 MyFIles、OIFilemanager 和其他应用程序启动:用于编辑/查看 mp3 标签的 gui)
- myMp3Tag_Test_Activity(一些 Android Activity 用于通过执行
Intent mp3Tagger = ... ; startActivity(mp3Tagger); 来测试 myMp3TagActivityPlugin;
这种布局的原因:将 guiplugin 与测试代码分开。
我的问题:如何通过执行myMp3TagTestActivity来调试myMp3TagActivityPlugin的代码?
到目前为止我尝试过的:
- 在 myMp3TagActivity_Plugin 的 onCreate 中设置断点并开始调试 myMp3Tag_Test_Activity
- 效果:调试器不会在 myMp3TagActivity_Plugin 中停止。插件正确执行。
- 将插件和 myMp3TagBusineslogic 添加到 myMp3Tag_Test_Activity 的构建路径
- 效果:无法启动 myMp3Tag_测试 Activity :myMp3TagActivity插件类未找到。
编辑:针对有相同问题的人的更新和解决方案:
- 正如下面的评论所述,将插件包含到测试中的构建路径不完整,因此测试 Activity 崩溃了。正确的构建路径
- 添加项目插件
- 添加项目业务
- 订单和导出检查插件(我之前忘记了)
- 订单和导出检查业务(我之前忘记了)
- 但是,从设备中卸载plugin.apk并调试test.apk(现在真正包含插件代码和组合 list )后,调试器仍然不会在插件代码中停止。
- 将
Debug.waitForDebugger()
添加到插件源并调试 test.apk 后,我终于可以调试插件源了。
最佳答案
您可以尝试下面的方法,可能会有效。
在 myMp3TagActivity_Plugin
入口点添加调用 Debug.waitfordebugger()
。执行myMp3Tag_Test_Activity
。现在该 Activity 将显示正在等待调试器连接。
然后找到进程的端口 myMp3TagActivity_Plugin
,通常从 8600 开始,如下所示。
然后右键单击 myMp3TagActivity_Plugin 项目,调试为 -> 调试配置 -> 双击连接属性中的远程 Java 应用程序更改端口以匹配上面的(8600) -> 调试。
关于android - 如何在eclipse中调试子项目中的Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795552/