如何调试BOOT_COMPLETE广播接收器的“强制关闭”崩溃?(How to debug BOOT

2019-07-28 21:36发布

由于手机重新启动,因此会从Eclipse调试器/ logcat的,而它的开机断开,我怎么看到我的启动完成广播接收器崩溃?

我执行我的公共类BootCompleteReceiver中的onReceive一些动作()扩展广播接收器{...}

这是崩溃,并弹出一个强制关闭对话框手机启动时。 如何调试这个问题,看看问题出在哪里?

这个问题适用于调试任何真正BOOT_COMPLETE广播接收机。

谢谢!

编辑

是的,我们可以看到logcat的系统日志,手机开机了,但我的应用程序Log.d(TAG,“引导完成”),必须等待,直到它(的onReceive)被触发,而是由当时的应用程序崩溃,因为这个问题是某处接收器本身。 应用程序崩溃之前,我可以登录任何东西。 此外,我不能使用“在调试模式下运行”为多数民众赞成重新启动手机...

Answer 1:

检查你的意图的行动和捆绑你recieving,他们可能会空,可以是一个空指针异常。



Answer 2:

我写在另一个线程:

您可以通过ADB连接到设备模拟广播的所有行动和打开设备的外壳。

开始了:

  • 打开控制台/终端和导航到/平台的工具
  • 输入“ADB壳”或在Linux / MAC“./adb壳”
  • 在壳体“型AM广播-a android.intent.action.BOOT_COMPLETED”,或者你想火任何行动。

通过这种方式,你应该能够调试。

有一堆与亚行或亚行外壳来很好的命令。 就试一试吧

问候弗洛

编辑:使用上述方法也将重新启动设备。 为了防止设备重新启动使用am broadcast -a android.intent.action.BOOT_COMPLETED com.example.app 。 注意与对广播而来的应用程序包名称的后缀。 这使您可以在BOOT_COMPLETED意图发送到只有你的应用程序进行调试。 - 罗埃尔面包车Uden的



Answer 3:

你的代码运行时,接收器只控制(即手机启动时)。 虽然调试,手动运行代码。 你可以解决的问题,你的这种方式,其余的(如果有的话),你可以通过写这样logcat中看到你的代码是做解决99%。



Answer 4:

只要把在Android Studio中的终端

adb shell am broadcast -a android.intent.action.BOOT_COMPLETE



文章来源: How to debug BOOT_COMPLETE broadcast receiver's “Force Close” crashes?