重启后立即开始调试Android应用程序

3
你好!
我现在正在使用一个应用程序,它使用了BOOT_COMPLETED接收器。
所以,如果我想在其类中设置一些断点来调试此应用程序,我必须重新启动我的手机并在适当的时间连接到它,但我总是太晚了。
你有更好的解决方案来调试我的应用程序,确切地说是在设备重新启动的情况下开始生命周期吗?
谢谢!
4个回答

7

如何使用它?您能否详细解释一下? - Karthikeyan Ve
1
您可以在代码中的任何位置放置Debug.waitForDebugger(),并在下一行上设置断点-> waitForDebugger行将阻塞线程,直到调试器连接(通过Android Studio或您通常使用的方式)。一旦连接,线程将继续执行并触发断点。 - FunkTheMonk

0

关闭你的模拟器,直接在调试中运行应用程序,并选择要在其上运行它的模拟器启动选项。


哦,天啊...我一直在这样做;-) 但是问题出现在我重新启动手机时。调试被断开了,而且在第一个断点出现之前,我手动重新连接它的速度太慢了。 - hsz

0

这是一个奇怪的想法,但是如果在第一个断点之前放置一个20秒的暂停或循环会怎样呢?


这是一个有趣的解决方法,但是我不想要这种类型的解决方案。 - hsz

0
在这种情况下,记录日志比调试更好的解决方案。我能够在IDEA logcat窗口中看到从BOOT_COMPLETE处理中产生的日志。(我也不是非常重视逐步调试,无论如何都更喜欢TDD方法)

当然,记录是我现在必须去做的事情,但调试会更好 - 我们可以做更多。 - hsz
不一定需要在启动完成广播接收方面解决问题,可以稍后通过日志记录和其他方式来解决(我个人更喜欢使用模拟,这可以被视为脚本化的调试会话 - 我也会在编写实际代码之前编写测试)。 - Konstantin Pribluda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接