Comandos comunes de adb
1. Descripción general
1. ¿Qué es adb?
El nombre completo de adb es Android Debug Bridge, que es una herramienta que sirve como puente de depuración. Como sugiere el nombre, adb es una herramienta de depuración.
2. Cómo funciona adb
¿Aún no estás seguro? Así que veamos cómo funciona.
La imagen de arriba es un diagrama simple de cómo funciona adb. Como se puede ver en la figura anterior, el programa cliente-servidor de adb consta de tres partes principales:
(1) Al iniciar el cliente adb (Cliente), el Cliente primero elegirá confirmar si adb ya existe p>
El servidor (Servidor) primero verificará si adb existe.
El proceso del servidor se está ejecutando, si no, inicie el proceso del servidor. En este punto, el servidor adb se vincula al puerto TCP local 5037 y escucha los comandos de los clientes adb
.
(2) A continuación, el servidor escaneará todos los puertos impares en el rango 5555 a 5585 para encontrar todos los emuladores o dispositivos y establecer conexiones con ellos. Una vez que el servidor encuentre el demonio adb, establecerá una conexión a ese puerto para que podamos controlar y acceder al emulador o dispositivo usando los comandos adb. Lo importante a tener en cuenta aquí es que cualquier instancia del emulador o dispositivo tendrá dos puertos consecutivos: un puerto par para la conexión de consola correspondiente y un puerto impar para responder a las conexiones adb.
3. El rol de adb
A través de adb, puede administrar el estado del dispositivo o emulador móvil y realizar una serie de operaciones móviles, como instalar software y actualizar el sistema. y la ejecución de comandos de shell espera. En resumen, adb es un puente entre los teléfonos Android y las PC, que permite a los usuarios operar completamente sus teléfonos a través de sus computadoras.
II.Comandos comunes
Esta sección se centrará en cómo usar adb y algunos comandos comunes.
Configure el entorno adb: agregue el directorio de trabajo del SDK de Android a la variable de entorno del sistema y luego podrá usar el comando adb.
1. dispositivos adb
Ver los dispositivos conectados actualmente (dispositivos Android o emuladores conectados a su computadora).
2. adb install
adb install lt;apk file pathgt;, instale el apk especificado en el dispositivo y el paquete apk instalado se colocará en el directorio /data/app .
Varios parámetros:
-r instalación forzada
-d (máquina real, adecuada para situaciones en las que solo hay una máquina real entre varios dispositivos) p>
p>
-e (emulador, adecuado para situaciones en las que solo hay un emulador entre varios dispositivos)
-s (especifique el dispositivo, seguido del número de serie) p>
adb - s 44a188f9 install -r test.apk (donde 44a188f9 es el número de serie, que se puede obtener a través del dispositivo adb)
3.adb uninstall
adb uninstall lt; nombre del paquete apk;
adb uninstall -k lt; nombre del paquete apk;
El parámetro -k conserva los archivos de configuración y caché al desinstalar el software
4. adb reboot
Reiniciar el dispositivo Android
5. adb shell
Usando el comando adb shell, puede ingresar al entorno de shell del dispositivo o emulador. En este shell de Linux, podemos ejecutar varios comandos de Linux.
Si solo desea ejecutar un comando de shell, puede usar: adb shell [shell_command]
En la práctica, generalmente se usa junto con grep o findstr, que pueden ser visto como un filtro Información clave requerida.
6. adb shell su
Si su teléfono está rooteado, obtenga acceso de root a adb shell.
Después de usar su, el símbolo del sistema del usuario cambiará de $ a #.
7. adb shell ps/top
Vea la información del proceso actual, como pid, etc., en la terminal.
8. adb shell am/pm
am se llama administrador de actividades. Puede usar el comando am para simular varios comportamientos del sistema, como iniciar una actividad y forzar el proceso. detener el proceso, enviar la transmisión del proceso, modificar las propiedades de la pantalla del dispositivo, etc.
Por ejemplo: adb shell am start lt;apk package namegt;/lt;activityNamegt;: inicia una actividad.
pm se llama administrador de paquetes. Utilice el comando pm para simular el comportamiento de Android o consultar aplicaciones en el dispositivo.
Por ejemplo: adb shell pm list packages
Enumera los nombres de los paquetes de todos los programas instalados en el dispositivo actual.
Descripción:
Canalización "|": Le permite fusionar el flujo de entrada estándar con el flujo de salida estándar, o utilizar el flujo de salida estándar de un comando como flujo de entrada estándar de otro comando.
exit sale del shell.
Dado que grep es un comando de Linux, ejecutar un solo adb shell no ingresará al entorno de shell de Linux
, ni está permitido usar otros comandos de Linux (como grep), pero solo el comando cmd de ventana.
Puede usar findtr en lugar de grep, es decir,
findstr/grep [palabra clave]
Consulte la Referencia 3 y la Referencia 4 para obtener más información.
Los comandos de Linux más utilizados y los comandos de consola de Windows más utilizados se resumirán más adelante.
9. adb pull y adb push
adb pull lt;ruta al archivo en dispositivogt; lt;local pathgt;: Copia archivos del simulador o dispositivo al local.
adb push lt;ruta del archivo localgt;lt;ruta en el dispositivogt;: Copia archivos o directorios locales al emulador o dispositivo.
También hay un problema de permisos involucrado aquí, que se presentará en una publicación de blog posterior.
10. adb shell dumpsys
Android proporciona la herramienta dumpsys para ver la información y el estado de los servicios relacionados del sistema.
Consulte la siguiente tabla:
11.adb shell mono
Ejecutar mono es un método de prueba automatizado para Android. La llamada prueba de mono es. para simular las pulsaciones de teclas del usuario Entrada, entrada de pantalla táctil, entrada de gestos, etc. Cuando el programa Monkey se está ejecutando en el emulador o dispositivo, si el usuario hace clic, toca, hace gestos o algunos eventos a nivel del sistema, generará pulsos aleatorios, por lo que puede usar la aplicación de repetición aleatoria de Monkey para realizar pruebas de estrés para probar Android.
Estabilidad de la aplicación.
El siguiente es un ejemplo sencillo para probar la aplicación Tencent News:
Nota: La primera -s especifica el dispositivo. Si solo hay un dispositivo conectado, este parámetro no se puede utilizar.
-p lt; nombre del paquete apk gt; Solo permite que el sistema inicie la aplicación especificada. Si no se especifica, el sistema podrá iniciar todas las aplicaciones en el dispositivo.
--throttle lt; milisegundosgt; Especifica el retraso entre las acciones del usuario (eventos).
--ignore-crashes especifica que cuando la aplicación falla, Monkey seguirá enviando eventos hasta que se complete el recuento de eventos.
--ignore-timeouts especifica que cuando una aplicación encuentra un error ANR, Monkey seguirá enviando eventos hasta que se complete el recuento de eventos.
La segunda -s se utiliza para especificar el valor inicial del generador de números pseudoaleatorios. Si el valor inicial es el mismo, la secuencia de eventos generados por las dos pruebas de Monkey será la misma.
-v se utiliza para especificar el nivel de información de retroalimentación, que se divide en tres niveles: nivel 0, nivel 1 y nivel 2. Cuanto mayor sea el nivel, más detallado será el registro de salida.
El último número (aquí es 500): indica que el programa Monkey simuló 500 eventos de operación aleatoria del usuario.
gt; Envíe los resultados de la prueba a D:\monkeylog.txt
Para obtener parámetros más detallados, consulte la referencia 5.
Algunos de los resultados de las pruebas son los siguientes:
Para el análisis de los resultados de las pruebas, la localización de errores mediante la búsqueda de palabras clave incluye principalmente los siguientes cuatro aspectos:
1 ) ANR (Aplicación no
respuesta): el programa no responde. Generalmente, si el hilo principal no se procesa durante más de 5 segundos, se producirá un error ANR. Busque la palabra clave ANR para encontrar información de eventos críticos. Además de exportar registros, también puede exportar el archivo trace.txt en el directorio /data/anr/ para localizar y analizar problemas. Utilice gt; adb
pull /data/anr/trace.txt d:\ para exportar el archivo trace.txt al disco d.
2) ForceClosed u otros mensajes de salida anormales: encuéntrelos buscando la palabra clave Fatal.
3) Problema de bloqueo: encuéntrelo buscando la palabra clave Exception.
4) Después de que ocurra una excepción, busque la palabra clave Crash para encontrar información detallada de la pila. 12. matar
matar se utiliza para finalizar el proceso.
Por ejemplo, si estamos ejecutando mono, cómo forzar el cierre de mono, puedes usar kill lt; mono proceso PIDgt
Instrucciones: abre otro cmd, encuentra el número de pid de mono, y luego mátalo.
Materiales de referencia:
1. Puente de depuración de Android: /topic/260042
2. Uso de la herramienta de análisis de rendimiento de Android dumpsys: /lib/view/open1405061994872 .html
3. Comando am pm en adb shell: /uid-26997997-id-3350449.html
5. Detalles de la prueba de esfuerzo de Monkey: /huangbiao86/article/details/ 8490743 6.