Esta página describe las herramientas de depuración en el servicio de cámara para ver los cambios en la solicitud de captura y los valores de resultado que se envían hacia y desde la cámara HAL. El servicio de cámara incluye los comandos watch
y dumpsys
. Disponible en dispositivos con Android 13 o superior, el comando watch
permite controlar cuándo se monitorean y acceden a las etiquetas, obtener una vista previa en vivo de los volcados de monitoreo de etiquetas de clientes abiertos y ver volcados en caché de clientes cerrados. El comando dumpsys
permite acceder a información de depuración pero no proporciona volcados de monitoreo de etiquetas de clientes cerrados.
comando de vigilancia
Esta sección describe cómo utilizar el comando watch
y proporciona ejemplos.
Comenzar a monitorear etiquetas
Para comenzar a monitorear etiquetas, use:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Ejemplo:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Argumentos:
-
tags
: lista de etiquetas separadas por comas que se van a monitorear. También acepta la abreviatura3a
, donde3a
se refiere al conjunto de todas las etiquetasandroid.control.*
relacionadas con AF, AE y AWB (para obtener la lista completa de etiquetas, consulteTagMonitor.cpp
). -
clients
: Argumento opcional. Lista separada por comas de nombres de paquetes de clientes para los cuales se monitorean las etiquetas. Observa a todos los clientes si no se pasa ningún argumento de cliente o siall
están presentes en la lista de clientes.
Este comando inicia la supervisión de etiquetas en los clientes abiertos y en cualquier cliente que se abra posteriormente (hasta que se llame a stop
). Después de llamar start
, el servicio de cámara almacena en caché los volcados de monitoreo de etiquetas de los clientes cuando los clientes cierran.
A menos que se llame start
, el servicio de cámara no monitorea las etiquetas de ningún cliente y no almacena en caché los volcados de monitoreo de etiquetas. Si se pasa all
en el parámetro clients
, el servicio de cámara monitorea las etiquetas y almacena en caché los volcados de monitoreo de todos los clientes.
Información de monitoreo de etiquetas de volcado
Para volcar información de monitoreo de etiquetas, use:
adb shell cmd media.camera watch dump
Este comando vuelca la información de monitoreo de etiquetas a la salida estándar y luego sale. Imprime los volcados de monitoreo de etiquetas en caché de los clientes que se han cerrado desde start
(o el último clear
) y el último volcado de monitoreo de etiquetas de los clientes abiertos.
Salida de muestra:
$ adb shell cmd media.camera watch dump
Client: com.android.chrome (active)
1:com.android.chrome f0:532642803202286ns: REQ:android.control.aeMode: [ON] output stream ids: 0
1:com.android.chrome f0:532642803202286ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 0
..
Client: com.google.android.GoogleCamera (cached)
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.aeMode: [ON] output stream ids: 0 3 1 2
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 1 3 0
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.awbMode: [AUTO] output stream ids: 0 3 1 2
...
Obtenga una vista previa de la información de monitoreo de etiquetas en tiempo real
Para obtener una vista previa de la información de monitoreo de etiquetas en tiempo real, use:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Ejemplo:
adb shell cmd media.camera watch live -n 250
Argumentos:
-
refresh_interval_ms
: Argumento opcional. Intervalo en milisegundos para actualizar la información. El valor predeterminado es 1000 si no se pasa ningún valor.
Este comando imprime información de monitoreo de etiquetas en tiempo real. Para salir, presione regresar / entrar .
Salida de muestra:
$ adb shell cmd media.camera watch live
Press return to exit...
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.aeMode: [ON] output stream ids: 1 3 0 2
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 0 3 1
...
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 3 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 2 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.afState: [PASSIVE_SCAN]
Borrar volcados en caché
Para borrar todos los volcados de monitoreo de etiquetas en caché, use:
adb shell cmd media.camera watch clear
Este comando no detiene el monitoreo de etiquetas.
Dejar de monitorear etiquetas
Para detener el monitoreo de etiquetas en todos los clientes y borrar todos los buffers retenidos para almacenar en caché los volcados de monitoreo de etiquetas, use:
adb shell cmd media.camera watch stop
comando dumpsys
El comando dumpsys
proporciona una gran cantidad de información de depuración del servicio de cámara. El siguiente comando captura todo el volcado de depuración del servicio de cámara:
adb shell dumpsys media.camera
El comando dumpsys
también permite capturar volcados de monitoreo de etiquetas de clientes abiertos. Sin embargo, dumpsys
no proporciona volcados de monitoreo de etiquetas de clientes cerrados. Los siguientes son ejemplos del uso dumpsys
para el monitoreo de etiquetas:
Capture volcados de monitoreo de etiquetas de todos los clientes abiertos:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Obtenga una vista previa en vivo de la información de monitoreo de etiquetas usando el comando
watch
de Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'