¿Cómo obtener el seguimiento de los métodos llamados por la aplicación de Android en el inicio de la actividad principal, sin que el código fuente de la aplicación esté disponible?

Necesito obtener el rastro de los métodos del OS llamados por la aplicación de Androide desde el momento en que su actividad principal se lanza. Puedo comenzar el profiler después de que el proceso haya comenzado ya, pero obviamente no rastreará los métodos llamados en el startup.

Aquí es cómo obtengo el rastro después de que el proceso ha comenzado:

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 

Parece que hay una opción de gestor de actividad de --start-profiler , pero no funciona. Intenté usarlo de la siguiente manera:

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

Sin embargo, no se crea ningún archivo de seguimiento y la aplicación no se ralentiza en absoluto. Cuando el perfil se activa, se ejecuta mucho más lentamente.

He probado esto en Android API 17, emulador Intel x86, Windows 7 x64 en Mac Book Pro (a través de Bootcamp).

Estoy utilizando el comando siguiente y está trabajando perfectamente bien.

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

El problema posible en su código en mi opinión podría ser, usted no está cerrando la aplicación si ya se ha iniciado. Por lo tanto, cuando se emite el comando que se especificó que no se inicia la aplicación en un modo de perfil en su lugar sólo trae su instancia ya iniciado en el frente que está sin un soporte de perfiles. Si desea iniciar la aplicación con perfiles habilitados en ella, asegúrese de que la aplicación esté cerrada (no en un fondo o minimizada) antes de iniciarla con Profiler.

  • ¿Es el cambio de contexto utilizando un tiempo significativo?
  • Android: ¿qué herramientas de creación de perfiles están disponibles bajo Eclipse para ver la escalabilidad?
  • Reaccionar la creación de perfiles nativos. Systrace no muestra JS y Native Modules Thread
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.