Как получить трассировку методов, называемых Android-приложением при запуске основной активности, без использования исходного кода приложения?

Мне нужно получить след методов ОС, которые вызывается приложением Android, с самого момента запуска его основной активности. Я могу запустить профилировщик после того, как процесс уже начался, но он, очевидно, не будет отслеживать методы, вызванные при запуске.

Вот как я получаю трассировку после запуска процесса:

adb install com.example.app.apk adb shell rm ./mnt/sdcard/log.trace adb shell am start com.example.App/com.example.App.MainActivity adb shell am profile start com.example.App ./mnt/sdcard/log.trace <do stuff with the app, click on the GUI etc.> adb shell am profile stop adb pull ./mnt/sdcard/log.trace 

Кажется, существует опция менеджера активности --start-profiler , но она не работает. Я попытался использовать его следующим образом:

 adb shell am start com.example.App/com.example.App.MainActivity --start-profiler ./mnt/sdcard/log.trace 

Но файл трассировки не создается, и приложение не замедляется вообще. Когда профилирование активировано, оно работает намного медленнее.

Я попробовал это на Android API 17, эмулятор Intel x86, Windows 7 x64 на Mac Book Pro (через Bootcamp).

Я использую следующую команду, и она работает отлично.

adb shell am start -n com.example.App/com.example.App.MainActivity --start-profiler ./mnt/sdcard/log.trace

Возможная проблема в вашем коде, по-моему, может быть, вы не закрываете приложение, если оно уже запущено. Поэтому, когда вы выдаете команду, которую вы указали, она не запускает приложение в режиме профилирования, а просто возвращает свой уже запущенный экземпляр на передний план, который не поддерживает профилирование. Если вы хотите запустить приложение с включенным профилированием, убедитесь, что приложение закрыто (не в фоновом режиме или сведено к минимуму), прежде чем запускать его с помощью профилировщика.

Intereting Posts
Как использовать другое устройство распознавания речи на моем устройстве Nexus 5? Как установить заголовок, прокручиваемый контент и нижний колонтитул? В Android Общие библиотеки в предварительном просмотре разработчика M HttpURLConnection не работает на Android 4.0 Возможность динамического разрешения зависимостей модулей на основе версии Распознавание активности в сервисах Google Play – использование батареи? Обновить приложение Android в эмуляторе без перезапуска эмулятора в Eclipse? Android ViewFlipper на первый взгляд Событие Android touch touch Пользовательская аннотация и динамическая загрузка Java Ошибка рендеринга в редакторе макетов Android Studio 3.0 Что такое сокращение, чтобы извлечь строки из кода Android в файл strings.xml в Intellij? Android locationManager продолжает вызывать onLocationChanged после удаленияUpdates Новое предупреждение в Android 4.4 Просмотр изображения без упаковки