我想调试Android应用程序的一部分,我没有用于构建它的原始Eclipse项目。
我构建了一个实现Android Activity的.jar
文件。我使用Eclipse来开发和调试它,并javac/jar
使用适当的类来构建.jar
。 .jar
被发送给客户,然后客户将其构建到他们的应用程序中。
现在他们希望我调试一些东西,并为他们的应用程序提供了一个调用android.os.Debug.waitForDebugger()
的.apk。我没有他们的源代码或项目。我安装并运行应用程序,当它遇到该调用时,我看到Eclipse DDMS选项卡中的进程等待附件(它有红色的bug图标)。当我尝试通过单击“调试所选进程”按钮附加到Eclipse中的进程时,出现此错误消息:
未找到<他们的应用包名称>的已打开项目。调试会话失败!
在没有原始应用项目的情况下,我有没有办法加入这个过程?如果没有,我将采用android.util.Log
陈述,但我不愿意,原因显而易见。
正如我上面所写的那样,我有自己的项目,其中包含用于构建.jar
的所有源代码,该代码已合并到此应用程序中。我已经尝试在我的测试项目清单中更改软件包名称,但就Eclipse而言,这似乎没有任何改变。
感谢您的帮助!
答案 0 :(得分:4)
回答我自己的问题 - 我创建了Remote Java Application类型的调试配置,并指定了DDMS窗口中显示的端口。我假设我可以使用任何符合JDWP的调试器来执行此操作。