Questa pagina descrive gli strumenti di debug nel servizio fotocamera per visualizzare
le modifiche ai valori di richiesta e risultato di acquisizione inviati e ricevuti dalla
HAL della fotocamera. Il servizio di videocamera include i comandi watch
e dumpsys
.
Disponibile sui dispositivi con Android 13 o versioni successive, il comando
watch
consente di controllare quando i tag vengono monitorati e a cui si accede, visualizzare
l'anteprima in tempo reale dei dump di monitoraggio dei tag dai client aperti e visualizzare i dump memorizzati nella cache
dai client chiusi. Il comando dumpsys
consente di accedere alle informazioni di debug, ma non fornisce dump del monitoraggio dei tag dai client chiusi.
watch command
Questa sezione descrive come utilizzare il comando watch
e fornisce esempi.
Avviare il monitoraggio dei 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 dei tag da monitorare. Accetta anche la notazione abbreviata3a
, dove3a
si riferisce all'insieme di tutti i tagandroid.control.*
correlati ad AF, AE e AWB (per l'elenco completo dei tag, vediTagMonitor.cpp
).clients
: argomento facoltativo. Elenco separato da virgole di nomi di pacchetti client per i quali vengono monitorati i tag. Osserva tutti i client se non viene passato alcun argomento client o seall
è presente nell'elenco dei client.
Questo comando avvia il monitoraggio dei tag nei client aperti e in tutti i client
aperti successivamente (fino a quando non viene chiamato stop
). Dopo la chiamata a start
,
il servizio della videocamera memorizza nella cache i dump del monitoraggio dei tag dai client quando questi
si chiudono.
A meno che non venga chiamato start
, il servizio della videocamera non monitora i tag per nessun client e non memorizza nella cache i dump di monitoraggio dei tag. Se all
viene passato nel parametro clients
, il servizio della videocamera monitora i tag e memorizza nella cache i dump di monitoraggio di tutti i client.
Dump tag monitoring information
Per eseguire il dump delle informazioni di monitoraggio dei tag, utilizza:
adb shell cmd media.camera watch dump
Questo comando esegue il dump delle informazioni di monitoraggio dei tag nell'output standard e poi
termina. Stampa i dump del monitoraggio dei tag memorizzati nella cache dei client chiusi
dal giorno start
(o dall'ultimo giorno clear
) e l'ultimo dump del monitoraggio dei tag dei client
aperti.
Esempio di output:
$ 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
...
Visualizzare l'anteprima delle informazioni di monitoraggio dei tag in tempo reale
Per visualizzare l'anteprima delle informazioni di monitoraggio dei tag in tempo reale, utilizza:
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 per aggiornare le informazioni. Se non viene passato alcun valore, il valore predefinito è 1000.
Questo comando stampa le informazioni di monitoraggio dei tag in tempo reale. Per uscire, premi Invio/Invio.
Esempio di output:
$ 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 di monitoraggio dei tag memorizzati nella cache, utilizza:
adb shell cmd media.camera watch clear
Questo comando non interrompe il monitoraggio dei tag.
Interrompere il monitoraggio dei tag
Per interrompere il monitoraggio dei tag in tutti i client e cancellare tutti i buffer mantenuti per la memorizzazione nella cache dei dump di monitoraggio dei tag, utilizza:
adb shell cmd media.camera watch stop
comando dumpsys
Il comando dumpsys
fornisce una serie di informazioni di debug dal servizio della videocamera. Il seguente comando acquisisce l'intero dump di debug dal
servizio della videocamera:
adb shell dumpsys media.camera
Il comando dumpsys
consente anche 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 alcuni esempi di utilizzo di dumpsys
per il monitoraggio dei tag:
Acquisire i dump di monitoraggio dei tag da tutti i client aperti:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Visualizza l'anteprima in tempo reale delle informazioni di monitoraggio dei tag utilizzando il comando
watch
di Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'