Recién comencé a desarrollar una aplicación simple de Android mientras todavía estoy aprendiendo la plataforma.
Estoy usando Eclipse IDE con el complemento ADT 0.9.6.
¿Necesito saber si es posible ver la Activity
pila asociada con una tarea?
¿Hay alguna forma de utilizar la herramienta DDMS o alguna otra técnica?
Esencialmente, lo que necesito es poder ver la actividad de la pila de una tarea para asegurarme de que la aplicación se comporte como se esperaba.
Sé que es posible controlar el comportamiento de la tarea en cierta medida mediante el uso de banderas en el Intent
objeto y a través de algunos atributos del <activity>
elemento.
Sin embargo, sería bueno tener un tipo de herramienta, especialmente en modo de depuración, que permitiría a los desarrolladores ver la Activity
pila directamente.
fuente
Respuestas:
Desde la línea de comandos, puede usar:
adb shell dumpsys activity
Esto le pide al administrador de actividades que imprima un volcado de su estado actual. La primera parte de eso es el historial completo de la actividad, organizado por tarea. También hay muchas cosas impresas después de eso, por lo que es posible que deba desplazarse un poco hacia arriba para encontrar lo que desea.
Aquí hay un ejemplo de su salida (el contenido exacto varía según las versiones de la plataforma), que muestra que la tarea principal son los contactos con dos actividades, y detrás del iniciador con una actividad:
fuente
adb shell
<enter>dumpsys activity | grep -i run
.adb shell dmpsys activity
, puede obtener para cada lista, por ejemplo,adb shell dmpsys activity activities
ACTIVIDADES DE GESTIÓN DE ACTIVIDADES que contiene la pila principal, Actividades en ejecución y Tareas recientes.dumpsys activity intents
para intentos pendientes;dumpsys activity broadcasts
para estado de difusión;dumpsys activity providers
para contenido contenido;dumpsys activity services
para servicios;dumpsys activity processes
para ejecutar procesos.adb shell dumpsys activity | grep -i run
oadb shell dumpsys activity activities | grep -i run
para una salida ligeramente más limpia.Puede usar el siguiente comando en su línea de comando para ver las tareas y las pilas en el sistema:
O puede probar TaskLogger , una herramienta simple que creé que puede monitorear todas las actividades y tareas en su aplicación, y generarlas en Logcat en tiempo real.
fuente
Sé que esta es una vieja pregunta, pero esta funcionalidad ahora está integrada en Android Studio:
Luego, en el archivo de texto resultante, busque
ACTIVITY
(todo en mayúsculas):fuente
Si desea inspeccionar la pila de tareas de un paquete específico, el siguiente comando lo hará:
fuente
Siempre reviso esta parte de los mensajes de volcado largos ...
Nota: La ejecución n. ° 4 es la actividad que ve ahora en la pantalla. :)
fuente
Puede usar la herramienta hierarchyviewer.bat. Es parte del SDK de Android. Sin embargo, solo funciona con el emulador. Pero es mucho más cómodo y más claro.
Editar: ¡Acabo de encontrar el Visor de jerarquía dentro de Eclipse! Y también funciona con dispositivos reales. Simplemente abra la perspectiva Windows-> Abrir perspectiva-> Vista de jerarquía En la lista puede ver todos los dispositivos y emuladores conectados y la pila de actividades. Y además, en la vista de árbol, puede ver mucha más información sobre la vista en sí.
Editar: El visor de jerarquía solo funcionará con dispositivos de desarrollador. Los dispositivos de producción no pueden hacerlo por razones de seguridad. Para obtener más información, consulte la siguiente respuesta
fuente
Para la lista de tareas recientes
Para la lista de servicios en ejecución
Para la lista de proveedores de contenido actuales
Para la lista de estado de difusión
Para la lista de intenciones pendientes
Para la lista de permisos
fuente
AdbCommander
complemento y agregar esos comandos en lamacros
pestañaHay un complemento para eso ahora:
https://plugins.jetbrains.com/plugin/12293-activity-stack-view
fuente
Solución: 'adb shell dumpsys activity' no funciona con TabActivity. Cuando se selecciona cada elemento de la pestaña, se iniciará la actividad correspondiente. Pero cuando usa 'adb shell dumpsys activity' Siempre devuelve la actividad 'main':
fuente