Na tej stronie opisano narzędzia do debugowania w usłudze kamery
zmiany w żądaniach przechwytywania i wartościach wyników, które są wysyłane do i z
HAL aparatu. Usługa aparatu obejmuje polecenia watch
i dumpsys
.
Funkcja dostępna na urządzeniach z Androidem 13 lub nowszym
Polecenie watch
umożliwia kontrolę nad tym, kiedy tagi są monitorowane i uzyskiwane do nich, w czasie ich aktywności
podgląd zrzutów monitorowania tagów z otwartych klientów oraz wyświetlanie w pamięci podręcznej
spadki od klientów zamkniętych. Polecenie dumpsys
umożliwia dostęp do debugowania
informacji, ale nie oferuje zrzutów monitorowania tagów od zamkniętych klientów.
polecenie zegarka
W tej sekcji opisujemy, jak używać polecenia watch
, wraz z przykładami.
Rozpocznij monitorowanie tagów
Aby zacząć monitorować tagi, użyj polecenia:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Przykład:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Argumenty:
tags
: rozdzielana przecinkami lista tagów do monitorowania. Akceptuje także skrót3a
, gdzie3a
oznacza zbiór wszystkich elementówandroid.control.*
związane z AF, AE i AWB (pełną listę tagów znajdziesz w artykuleTagMonitor.cpp
).clients
: opcjonalny argument. Rozdzielona przecinkami lista pakietów klientów które są monitorowane. Jeśli nie ma żadnego klienta, monitoruje wszystkich klientów lub jeśli na liście klientów znajduje się argumentall
.
To polecenie rozpoczyna monitorowanie tagów w otwartych klientach i we wszystkich klientach
które są następnie otwierane (do momentu wywołania funkcji stop
). Po wywołaniu funkcji start
Usługa aparatu zapisuje w pamięci podręcznej zrzuty monitorowania tagów z klientów, gdy klienty
zamknięcia.
Jeśli nie zostanie wywołana funkcja start
, usługa kamery nie monitoruje tagów
klientów i nie zapisuje w pamięci podręcznej zrzutów monitorowania tagów. Jeśli all
jest przekazywany w metodzie
clients
, usługa kamery monitoruje tagi i buforuje,
na spadki od wszystkich klientów.
Informacje o monitorowaniu tagów zrzutu
Aby skopiować informacje o monitorowaniu tagów, użyj polecenia:
adb shell cmd media.camera watch dump
Powoduje ono przesłanie informacji z monitorowania tagów na standardowe dane wyjściowe, a następnie:
. Wydrukuje zrzuty monitorowania tagów zapisane w pamięci podręcznej z klientów, które zostały zamknięte
od start
(lub ostatniego clear
) i najnowszy zrzut monitorowania tagów z otwartego
klientów.
Przykładowe dane wyjściowe:
$ 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
...
Wyświetlanie podglądu informacji z monitorowania tagu w czasie rzeczywistym
Aby wyświetlić podgląd informacji o monitorowaniu tagów w czasie rzeczywistym, użyj:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Przykład:
adb shell cmd media.camera watch live -n 250
Argumenty:
refresh_interval_ms
: opcjonalny argument. Odstęp w milisekundach do odśwież informacje na stronie. Jeśli nie zostanie przekazana żadna wartość, domyślna wartość to 1000.
To polecenie wyświetla informacje o monitorowaniu tagów w czasie rzeczywistym. Aby wyjść, naciśnij return/Enter.
Przykładowe dane wyjściowe:
$ 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]
Usuń zrzuty z pamięci podręcznej
Aby usunąć wszystkie zrzuty monitorowania tagów w pamięci podręcznej, użyj:
adb shell cmd media.camera watch clear
To polecenie nie zatrzymuje monitorowania tagów.
Zatrzymaj monitorowanie tagów
Aby zatrzymać monitorowanie tagów u wszystkich klientów i wyczyścić wszystkie bufory przechowywane w pamięci podręcznej zrzut danych monitorowania tagów, użyj:
adb shell cmd media.camera watch stop
polecenie dumpsys
Polecenie dumpsys
udostępnia host danych debugowania z kamery
posprzedażna. Poniższe polecenie przechwytuje cały zrzut debugowania
usługa kamery:
adb shell dumpsys media.camera
Polecenie dumpsys
umożliwia też rejestrowanie zrzutów monitorowania tagów z otwartych stron
klientów. dumpsys
nie zapewnia jednak zrzutów monitorowania tagów z zamkniętych źródeł
klientów. Oto przykłady użycia parametru dumpsys
do monitorowania tagów:
Rejestruj zrzuty monitorowania tagów ze wszystkich otwartych klientów:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Podgląd informacji o monitorowaniu tagów na żywo w systemie Linux Polecenie
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'