Depuración de la cámara

En esta página, se describen las herramientas de depuración del servicio de cámara para su visualización. cambios en la solicitud de captura y los valores de los resultados que se envían desde y hacia el HAL de la cámara. El servicio de cámara incluye los comandos watch y dumpsys. Disponible en dispositivos que ejecutan Android 13 o versiones posteriores, el El comando watch permite controlar cuándo se supervisan las etiquetas y cuándo se accede a ellas, vista previa de volcados de supervisión de etiquetas de clientes abiertos y visualización de cachés de clientes cerrados. El comando dumpsys permite acceder a los datos de pero no proporciona volcados de supervisión de etiquetas de clientes cerrados.

comando watch

En esta sección, se describe cómo usar el comando watch y se proporcionan ejemplos.

Comenzar a supervisar etiquetas

Para comenzar a supervisar las etiquetas, usa lo siguiente:

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: Es la lista de etiquetas separadas por comas que se deben supervisar. También acepta la abreviatura 3a, en la que 3a hace referencia al conjunto de todos los android.control.* etiquetas relacionadas con AF, AE y AWB (para ver la lista completa de etiquetas, consulta TagMonitor.cpp).
  • clients: Es un argumento opcional. Lista separada por comas de paquetes de clientes los nombres para los que se supervisan las etiquetas. Revisa a todos los clientes si no hay ninguno se pasa un argumento o si all está presente en la lista de clientes.

Este comando inicia la supervisión de etiquetas en los clientes abiertos y en cualquier cliente. que se abren posteriormente (hasta que se llama a stop). Después de llamar a start, El servicio de cámara almacena en caché los volcados de supervisión de etiquetas de los clientes cuando estos cerrar.

A menos que se llame a start, el servicio de cámara no supervisará las etiquetas de ningún y no almacena en caché los volcados de supervisión de etiquetas. Si all se pasa en el El parámetro clients, el servicio de cámara supervisa las etiquetas y almacena en caché la supervisión de todos los clientes.

Información de supervisión de la etiqueta de volcado

Para volcar la información de supervisión de etiquetas, usa lo siguiente:

adb shell cmd media.camera watch dump

Este comando vuelca la información de supervisión de etiquetas en el resultado estándar y, luego, salidas. Imprime los volcados de supervisión de la etiqueta en caché de los clientes que cerraron desde el start (o el último clear) y el último volcado de supervisión de etiquetas de la apertura clientes.

Resultado 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
...

Obtener una vista previa de la información de supervisión de etiquetas en tiempo real

Para obtener una vista previa de la información de supervisión de etiquetas en tiempo real, usa lo siguiente:

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: Es un argumento opcional. Intervalo en milisegundos para y actualizar la información. El valor predeterminado es 1,000 si no se pasa ningún valor.

Este comando imprime la información de supervisión de etiquetas en tiempo real. Para salir, presiona return/enter.

Resultado 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 almacenados en caché

Para borrar todos los volcados de supervisión de etiquetas almacenados en caché, usa lo siguiente:

adb shell cmd media.camera watch clear

Este comando no detiene la supervisión de etiquetas.

Detener la supervisión de etiquetas

Para dejar de supervisar las etiquetas en todos los clientes y borrar todos los búferes retenidos para el almacenamiento en caché volcados de supervisión de etiquetas, usa lo siguiente:

adb shell cmd media.camera watch stop

Comando de dumpsys

El comando dumpsys proporciona una gran cantidad de información de depuración de la cámara. servicio. El siguiente comando captura todo el volcado de depuración de la servicio de cámara:

adb shell dumpsys media.camera

El comando dumpsys también permite capturar los volcados de supervisión de etiquetas de los archivos clientes. Sin embargo, dumpsys no proporciona volcados de supervisión de etiquetas desde sitios cerrados. clientes. Los siguientes son ejemplos de uso de dumpsys para la supervisión de etiquetas:

  • Captura los volcados de supervisión de etiquetas de todos los clientes abiertos:

    adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
    
  • Obtener una vista previa en vivo de la información de supervisión de etiquetas con Linux Comando watch:

    watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'