Esta página descreve as ferramentas de depuração no serviço de câmera para visualização
alterações na solicitação de captura e nos valores de resultado que são enviados de e para o
HAL da câmera. O serviço de câmera inclui os comandos watch
e dumpsys
.
Disponível em dispositivos com o Android 13 ou mais recente, o
O comando watch
permite controlar quando as tags são monitoradas e acessadas, ao vivo
visualização de despejos de monitoramento de tag de clientes abertos e visualização de
depósitos de clientes fechados. Com o comando dumpsys
, é possível acessar a depuração
mas não fornece despejos de monitoramento de tags de clientes fechados.
Comando watch
Esta seção descreve como usar o comando watch
e fornece exemplos.
Começar a monitorar tags
Para começar a monitorar tags, use:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Exemplo:
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 separada por vírgulas de tags a serem monitoradas. Também aceita a abreviação3a
, em que3a
se refere ao conjunto de todas asandroid.control.*
relacionadas a AF, AE e AWB (para acessar a lista completa de tags, consulteTagMonitor.cpp
).clients
: argumento opcional. Lista separada por vírgulas de pacotes de clientes nomes para os quais as tags são monitoradas. Monitora todos os clientes se nenhum cliente argumento seja transmitido ou seall
estiver presente na lista de clientes.
Esse comando inicia o monitoramento de tags em clientes abertos e em qualquer cliente
que são abertos posteriormente (até que stop
seja chamado). Depois que start
é chamado,
O serviço de câmera armazena em cache os despejos de monitoramento de tag dos clientes quando eles
perto.
A menos que start
seja chamado, o serviço de câmera não monitora nenhuma tag
e não armazena em cache dumps de monitoramento de tags. Se all
for transmitido no
parâmetro clients
, o serviço de câmera monitora tags e armazena em cache o monitoramento
e despejos de todos os clientes.
Informações de monitoramento da tag de despejo
Para despejar informações de monitoramento de tags, use:
adb shell cmd media.camera watch dump
Esse comando despeja as informações de monitoramento de tags na saída padrão e depois
de saída. Ele imprime os despejos de monitoramento da tag armazenada em cache dos clientes que fecharam
desde start
(ou clear
) e o despejo mais recente do monitoramento de tags aberto
clientes.
Exemplo de saída:
$ 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
...
Prévia das informações de monitoramento da tag em tempo real
Para ter uma prévia das informações de monitoramento de tags em tempo real, use:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Exemplo:
adb shell cmd media.camera watch live -n 250
Argumentos:
refresh_interval_ms
: argumento opcional. Intervalo em milissegundos para e atualizar as informações. Se nenhum valor for transmitido, o padrão será 1.000.
Esse comando imprime informações de monitoramento de tags em tempo real. Para sair, pressione return/enter.
Exemplo de saída:
$ 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]
Limpar despejos em cache
Para limpar todos os despejos de monitoramento de tags armazenadas em cache, use:
adb shell cmd media.camera watch clear
Esse comando não interrompe o monitoramento de tags.
Parar de monitorar tags
Para interromper o monitoramento de tags em todos os clientes e limpar todos os buffers mantidos para armazenamento em cache despejos de monitoramento de tags, use:
adb shell cmd media.camera watch stop
comando dumpsys
O comando dumpsys
fornece um host de informações de depuração da câmera
serviço. O comando a seguir captura todo o despejo de depuração do
serviço de câmera:
adb shell dumpsys media.camera
O comando dumpsys
também permite capturar despejos de monitoramento de tags de arquivos
clientes. No entanto, dumpsys
não fornece despejos de monitoramento de tags de bancos
clientes. Veja a seguir exemplos de como usar dumpsys
para monitoramento de tags:
Capture despejos de monitoramento de tags de todos os clientes abertos:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Visualize em tempo real as informações de monitoramento de tags usando o Linux Comando
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'