2016-03-01 2 views
3

У меня возникла проблема с отладкой некоторого кода в моем DeviceBootReceiver (обрабатывает намерение android.intent.action.BOOT_COMPLETED). Я хочу отладить этот бит, но как сохранить отладчик в живых, когда устройство перезагрузится? Есть ли какой-нибудь хак, который кто-то натолкнул на это?Сохранять отладчик Android даже после перезагрузки устройства

То, что я хочу сделать:

  1. начать отладку приложения с помощью Android Studio
  2. Выключайте устройство
  3. питание устройства
  4. Еще быть в состоянии получить отладчик прикреплен к моему приложению, когда он начинает обрабатывать android.intent.action.BOOT_COMPLETED намерение

Любые мысли?

ответ

5
  1. Открыть настройки устройства "параметры разработчика";
  2. Прокрутите вниз до «выберите приложение для отладки» и убедитесь, что ваше приложение выбрано;
  3. Установите флажок "wait for debugger".

Это будет гарантировать, что когда ваше приложение будет выполнено, например, когда оно получит широковещательную передачу BOOT_COMPLETED, отладчик сначала подключается.

Надеюсь, это поможет.

0

Это займет около 30 секунд ПОСЛЕ того, как ваше устройство станет доступным для взаимодействия для android.intent.action.BOOT_COMPLETED для трансляции. У вас достаточно времени для запуска вашего приложения и входа в режим отладки вручную.

Возможно, вы захотите напечатать временную метку вашего логарифма, когда будет получено намерение android.intent.action.BOOT_COMPLETED, чтобы у вас было лучшее представление о том, когда все это

+0

Это, в конце концов, что я вроде в конечном итоге делает, но @ ответ MR-T помогает время лучше – Rohitesh

1

Вы можете повторно транслировать намерение самостоятельно с помощью ADB оболочки:

$ adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

+0

Это помогло отправить трансляция, но она убила отладчика! :( – Rohitesh