Точки останова в источнике платформы Android

Использование Intellj-idea Я пытаюсь отлаживать исходный API-интерфейс Android 17, но когда я устанавливаю точки останова в источнике платформы, они игнорируются при запуске. Глядя на точку останова во время отладки, в ней есть крест с сообщением "нет исполняемого кода, найденного в строке 15508 в классе android.view"

Я пробовал работать с эмулятором с набором API 17, а также с телефоном с Android 4.2.2, но оба они не работают. Я могу отлаживать методы, но курсор перескакивает.

Итак, я предполагаю, что нет отладочной информации, а также некоторых оптимизаций, которые продолжаются. Поэтому мой вопрос:

Есть ли способ правильно отлаживать платформу Android с точки зрения моего приложения и устанавливать контрольные точки, которые работают в нем? Может быть, эмулятор, который был построен с информацией об отладке?

Любая помощь будет оценена?

Отношения Ли

Ответ 1

Это зависит от того, какое приложение вы пытаетесь отлаживать: ваше собственное приложение, системное приложение, например android.process.acore.

Отладить исходный код платформы, запущенный в вашем собственном приложении

Основная проблема заключается в том, что номера строк источника платформы, которые вы загрузили на свой компьютер, должны соответствовать тем, что работает на устройстве. Лучше всего будет отлаживать устройство Google Nexus, такое как Nexus 5 или Nexus 7, поскольку он должен запускать скомпилированную версию источника точно так же, как он был выпущен Google, который вы загрузили с помощью Android SDK. Просто добавьте исходный путь в sdk в IntelliJ, присоедините отладчик и установите точку останова. Убедитесь, что вы выбрали тот же источник уровня API, который запущен на устройстве. Это должно сделать это.

Чтобы отладить исходный код платформы в системном приложении

Вам понадобится eng сборка платформы Android для отладки системных процессов. Если вы еще не создали и не установили платформу Android, пока она не будет работать, и потребуется разблокированный загрузчик. Возможно, есть готовые eng сборки cyanogenmod или что-то, что можно скачать, но я не могу найти их после некоторого тривиального Googling. Вы также можете сделать eng сборку AOSP самостоятельно и запустить эмулятор на своем компьютере. См. Запуск эмулятора после создания Android из источника и "Выберите целевую" секцию на сайте AOSP для получения информации о создании собственной сборки eng, если вы чувствуете себя очень амбициозно.