Resumen del uso de los comandos AM, PM y dumpsys en Android
Puede ingresar a la interfaz de comandos de Android Linux a través de adb shell e ingresar am -help para ver los comandos detallados. Primero introduzcamos algunos usos simples.
El formato del comando es el siguiente
Lista de comandos:
Análisis de principios: en Am.java, el comando am casi siempre se implementa llamando al método correspondiente de ActivityManagerService completo, excepto am monitor. Por ejemplo, el comando soy start-a Android . action view-d introducido en la descripción general anterior y finalmente inicia la actividad llamando al método startActivityAsUser() de la clase ActivityManagerService. Otro ejemplo es el comando am kill-all. La implementación final se completa mediante el método killBackgroundProcesses() de ActivityManagerService.
Hablemos de [opciones] y
El comando principal de actividad de inicio amstart [opciones]
El principio de implementación de la actividad de inicio: si hay un -W parámetro, llame a startActivityAndWait para ejecutarse; de lo contrario, startActivityAsUser().
Comando
Por ejemplo, para el proceso con pid=12345, emita el comando de compactación de memoria con nivel=RUNNING_LOW.
El rango de valores del nivel es: oculto, running_modern, background, RUNNING_LOW, modern, RUNNING_CRITICAL, complete.
Los parámetros opcionales iniciar servicio, detener servicio, transmitir, eliminar, iniciar perfil, detener perfil y volcar montón del subcomando am se pueden configurar en -user
Por ejemplo, iniciar id= Servicio designado para 10001 usuarios.
Hay muchos parámetros para intents y flags. Por conveniencia, hay tres tipos de parámetros: parámetros públicos, parámetros adicionales y parámetros de marca.
Ejemplo
(1).Tipo básico
El parámetro es es la abreviatura de la cadena extra. Ejemplo:
(2).Tipo de matriz
El parámetro eia es la abreviatura de Extra int array y varios valores están separados por comas. Ejemplo:
(3). Tipo de lista de matriz
El parámetro efal es la primera letra de la lista de matriz flotante adicional y varios valores están separados por comas. Ejemplo:
Pm tool es la abreviatura de administrador de paquetes. Puede utilizar la herramienta pm para instalar aplicaciones, consultar información sobre el tesoro de las aplicaciones, permisos del sistema y controlar aplicaciones. La herramienta pm es una herramienta indispensable en el proceso de desarrollo y prueba de Android. El formato del comando de shell es el siguiente:
Análisis de principios: el comando pm se implementa en Pm.java y la mayor parte se completa llamando al método correspondiente de PackageManagerService. Después de la desactivación, veo la aplicación incorrecta en el escritorio y en la lista de aplicaciones.
Mire todos los paquetes,
Parámetros de [Opción]:
Desactivar + habilitar = número total de aplicaciones; sistema + terceros = número total de aplicaciones.
Para ver aplicaciones de terceros:
Ver nombres de paquetes deshabilitados.
& lt filter & gt parámetros
Cuando FILTER no está vacío, solo se generarán las aplicaciones con el campo FILTER en el nombre del paquete; cuando FILTER esté vacío, se mostrará mediante; predeterminado Todas las aplicaciones elegibles.
Por ejemplo, mire el nombre del paquete con el campo meteorológico.
Parámetros [Opción]:
& lt path & gt parámetro: la ruta donde se debe instalar el apk.
Dumpsys es una poderosa herramienta de depuración que viene con Android. Como puede verse por el nombre, se utiliza principalmente para volcar cierta información del sistema Android actual. Es un medio muy eficaz para analizar los problemas, el estado operativo y el uso del teléfono móvil.
Principios de implementación
La estructura del código fuente de dumpsys es realmente muy simple, con solo un dumpsys.cpp.
/frameworks/native/cmds/dump sys/dump sys
Primero obtenga el objeto ServiceManager a través de la función defaultServiceManager () y luego use la función checkService para encontrar el objeto específico. parámetros pasados por el servicio dumpsys, ejecute el método de volcado del servicio para lograr el propósito de volcar el servicio.
Las diferentes versiones del sistema Android admiten diferentes comandos. Puede verificar los servicios de volcado admitidos por el teléfono móvil actual mediante el siguiente comando. Primero ingrese al shell adb y luego ejecute el siguiente comando: dumpsys -l l Es posible que estos nombres de servicios no sepan qué servicio se está llamando, pero usted puede hacerlo. obtenga instrucciones a través del siguiente comando: Lista de servicios.
Hay muchos listados de servicios. Éstos son algunos de ellos.
Puedes imprimir servicios específicos mediante el siguiente comando: dumpsys
A continuación, hablaré principalmente sobre el uso de la actividad dumpsys.
Comando
Valor opcional de la opción
La actividad de Dumpsys equivale a generar secuencialmente las siguientes siete instrucciones:
Valor opcional de Cmd p >
Comando
Devolver resultados
Los resultados de salida anteriores se pueden dividir en las siguientes cuatro partes.
También puede generar solo la información del proceso de pid o paquete:
Tome AmberLocker como ejemplo para el análisis.
Escenario 1: Consultar todo el estado de servicio de una App.
Explicación: El nombre de la clase de servicio es com. ámbar, pantalla de bloqueo. locker, el nombre del paquete es mobi. info life. ez locker. - 2/base.apk.
Se ejecuta en el proceso pid=1115, el nombre del proceso es mobi info life ez Weather _ 2, uid=10060, y el tiempo de creación y otra información.
Escenario 2: Consultar todo el estado de reproducción de una aplicación.
Escenario 3: Consultar todo el estado de actividad de una App.
Escenario 4: Consultar el estado del proceso de una App.
Formato: ProcessRecord{Hashcode pid:nombre del proceso/uid}, pid del proceso=941, nombre del proceso mobi.info life.ez weather.locker.locker_2:live, uid=10060.
También hay servicios, conexiones, proveedores y receptores,
Escenario 5: Consultar las actividades de nivel superior de la pila
Hay muchas más órdenes para dumpsys, aquí no se enumeran uno por uno.