即使在设备重启后也保持 Android 调试器处于活动状态
Keep Android debugger alive even after device restart
我在 DeviceBootReceiver(处理 android.intent.action.BOOT_COMPLETED 意图)中调试某些代码时遇到问题。我想调试这一点,但是当设备重新启动时,如何让调试器保持活动状态?有没有人为此遇到过任何黑客攻击?
我想做什么 :
- 通过 Android Studio
开始调试应用程序
- 关闭设备
- 启动设备
- 当我的应用程序开始处理 android.intent.action.BOOT_COMPLETED intent
时,仍然 能够将调试器附加到我的应用程序
有什么想法吗?
在您的设备可以进行交互后,android.intent.action.BOOT_COMPLETED 大约需要 30 秒才能广播。您有足够的时间启动您的应用程序并手动进入调试模式
您可能希望在收到 android.intent.action.BOOT_COMPLETED 意图时向您的 logcat 打印一个时间戳,以便您更好地了解所有这些发生的时间
- 打开您的设备 "developer options" 设置;
- 向下滚动到 "select debug app" 并确保您的应用已被选中;
- 勾选选项"wait for debugger"。
这将确保当您的应用程序被执行时,例如当它接收到 BOOT_COMPLETED
广播时,调试器首先被附加。
希望对您有所帮助。
您可以通过 adb 自行重新广播意图 shell:
$ adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
我在 DeviceBootReceiver(处理 android.intent.action.BOOT_COMPLETED 意图)中调试某些代码时遇到问题。我想调试这一点,但是当设备重新启动时,如何让调试器保持活动状态?有没有人为此遇到过任何黑客攻击?
我想做什么 :
- 通过 Android Studio 开始调试应用程序
- 关闭设备
- 启动设备
- 当我的应用程序开始处理 android.intent.action.BOOT_COMPLETED intent 时,仍然 能够将调试器附加到我的应用程序
有什么想法吗?
在您的设备可以进行交互后,android.intent.action.BOOT_COMPLETED 大约需要 30 秒才能广播。您有足够的时间启动您的应用程序并手动进入调试模式
您可能希望在收到 android.intent.action.BOOT_COMPLETED 意图时向您的 logcat 打印一个时间戳,以便您更好地了解所有这些发生的时间
- 打开您的设备 "developer options" 设置;
- 向下滚动到 "select debug app" 并确保您的应用已被选中;
- 勾选选项"wait for debugger"。
这将确保当您的应用程序被执行时,例如当它接收到 BOOT_COMPLETED
广播时,调试器首先被附加。
希望对您有所帮助。
您可以通过 adb 自行重新广播意图 shell:
$ adb shell am broadcast -a android.intent.action.BOOT_COMPLETED