Questa pagina descrive gli strumenti di debug nel servizio della fotocamera per visualizzare le modifiche nella richiesta di acquisizione e nei valori dei risultati inviati da e verso l'HAL della fotocamera. Il servizio fotocamera include i comandi watch
e dumpsys
. Disponibile sui dispositivi con Android 13 o versioni successive, il comando watch
consente il controllo su quando monitorare e accedere ai tag, l'anteprima in tempo reale dei dump di monitoraggio dei tag dai client aperti e la visualizzazione dei dump memorizzati nella cache dai client chiusi. Il comando dumpsys
consente l'accesso alle informazioni di debug ma non fornisce dump di monitoraggio dei tag dai client chiusi.
comando di guardia
Questa sezione descrive come utilizzare il comando watch
e fornisce esempi.
Inizia a monitorare i tag
Per iniziare a monitorare i tag, utilizza:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Esempio:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Argomenti:
-
tags
: elenco separato da virgole di tag da monitorare. Accetta anche la scorciatoia3a
, dove3a
si riferisce all'insieme di tutti i tagandroid.control.*
relativi ad AF, AE e AWB (per l'elenco completo dei tag, vedereTagMonitor.cpp
). -
clients
: argomento facoltativo. Elenco separato da virgole di nomi di pacchetti client per i quali vengono monitorati i tag. Controlla tutti i client se non viene passato alcun argomento client o se sono presentiall
nell'elenco dei client.
Questo comando avvia il monitoraggio dei tag nei client aperti e in tutti i client che verranno aperti successivamente (fino al richiamo stop
). Dopo aver richiamato start
, il servizio fotocamera memorizza nella cache i dump di monitoraggio dei tag dai client quando i client vengono chiusi.
A meno che non venga chiamato start
, il servizio fotocamera non monitora i tag per nessun client e non memorizza nella cache i dump del monitoraggio dei tag. Se viene passato all
nel parametro clients
, il servizio fotocamera monitora i tag e memorizza nella cache i dump di monitoraggio di tutti i client.
Scarica le informazioni sul monitoraggio dei tag
Per scaricare le informazioni sul monitoraggio dei tag, utilizzare:
adb shell cmd media.camera watch dump
Questo comando scarica le informazioni di monitoraggio del tag sull'output standard e quindi esce. Stampa i dump di monitoraggio dei tag memorizzati nella cache dai client che sono stati chiusi start
(o dall'ultima clear
) e l'ultimo dump di monitoraggio dei tag dai client aperti.
Output di esempio:
$ 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
...
Anteprima delle informazioni sul monitoraggio dei tag in tempo reale
Per visualizzare in anteprima le informazioni sul monitoraggio dei tag in tempo reale, utilizzare:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Esempio:
adb shell cmd media.camera watch live -n 250
Argomenti:
-
refresh_interval_ms
: argomento facoltativo. Intervallo in millisecondi in cui aggiornare le informazioni. Il valore predefinito è 1000 se non viene passato alcun valore.
Questo comando stampa le informazioni sul monitoraggio dei tag in tempo reale. Per uscire, premere Invio / Invio .
Output di esempio:
$ 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]
Cancella i dump memorizzati nella cache
Per cancellare tutti i dump del monitoraggio dei tag memorizzati nella cache, utilizzare:
adb shell cmd media.camera watch clear
Questo comando non interrompe il monitoraggio dei tag.
Smetti di monitorare i tag
Per interrompere il monitoraggio dei tag in tutti i client e cancellare tutti i buffer trattenuti per la memorizzazione nella cache dei dump del monitoraggio dei tag, utilizzare:
adb shell cmd media.camera watch stop
comando dumpsys
Il comando dumpsys
fornisce una serie di informazioni di debug dal servizio fotocamera. Il comando seguente acquisisce l'intero dump di debug dal servizio fotocamera:
adb shell dumpsys media.camera
Il comando dumpsys
consente inoltre di acquisire dump del monitoraggio dei tag dai client aperti. Tuttavia, dumpsys
non fornisce dump di monitoraggio dei tag da client chiusi. Di seguito sono riportati esempi di utilizzo dumpsys
per il monitoraggio dei tag:
Acquisisci dump del monitoraggio dei tag da tutti i client aperti:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Ottieni un'anteprima in tempo reale delle informazioni sul monitoraggio dei tag utilizzando il comando Linux
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'