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