Halaman ini menjelaskan alat proses debug di layanan kamera untuk ditampilkan
perubahan pada nilai permintaan pengambilan dan hasil yang dikirim ke dan dari
HAL kamera Layanan kamera menyertakan perintah watch
dan dumpsys
.
Tersedia di perangkat yang menjalankan Android 13 atau yang lebih baru,
Perintah watch
memungkinkan kontrol atas waktu tag dipantau dan diakses, live
melihat pratinjau dump pemantauan tag dari klien terbuka, dan menampilkan file yang di-cache
{i>dump<i} dari klien tertutup. Perintah dumpsys
memungkinkan untuk mengakses proses debug
tetapi tidak menyediakan dump pemantauan tag dari klien tertutup.
perintah watch
Bagian ini menjelaskan cara menggunakan perintah watch
dan memberikan contoh.
Mulai memantau tag
Untuk mulai memantau tag, gunakan:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Contoh:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Argumen:
tags
: Daftar tag yang dipisahkan dengan koma, yang akan dipantau. Juga menerima singkatan3a
, dengan3a
mengacu pada kumpulan semuaandroid.control.*
tag yang terkait dengan AF, AE, dan AWB (untuk daftar lengkap tag, lihatTagMonitor.cpp
)clients
: Argumen opsional. Daftar paket klien yang dipisahkan koma nama untuk tag yang dipantau. Menonton semua klien jika tidak ada klien diteruskan, atau jikaall
ada dalam daftar klien.
Perintah ini memulai pemantauan tag pada klien yang terbuka dan klien mana pun
yang kemudian dibuka (hingga stop
dipanggil). Setelah start
dipanggil,
Layanan kamera menyimpan cache dump pemantauan tag dari klien saat klien
dekat.
Kecuali jika start
dipanggil, layanan kamera tidak memantau tag untuk
klien, dan tidak meng-cache dump pemantauan tag. Jika all
diteruskan di
clients
, layanan kamera memantau tag dan pemantauan cache
{i>dump<i} dari semua klien.
Menghapus informasi pemantauan tag
Untuk membuang informasi pemantauan tag, gunakan:
adb shell cmd media.camera watch dump
Perintah ini membuang informasi pemantauan tag ke {i>output<i} standar, lalu
keluar. Solusi ini mencetak dump pemantauan tag yang di-cache dari klien yang telah menutup
sejak start
(atau clear
terakhir) dan dump pemantauan tag terbaru dari
dengan klien besar.
Contoh 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
...
Melihat pratinjau informasi pemantauan tag secara real time
Untuk melihat pratinjau informasi pemantauan tag secara real time, gunakan:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Contoh:
adb shell cmd media.camera watch live -n 250
Argumen:
refresh_interval_ms
: Argumen opsional. Interval dalam milidetik hingga menyegarkan informasi di. Jika tidak ada nilai yang diteruskan, setelan defaultnya adalah 1.000.
Perintah ini mencetak informasi pemantauan tag secara real time. Untuk keluar, tekan return/enter.
Contoh 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]
Menghapus dump yang di-cache
Untuk menghapus semua dump pemantauan tag yang di-cache, gunakan:
adb shell cmd media.camera watch clear
Perintah ini tidak menghentikan pemantauan tag.
Berhenti memantau tag
Untuk berhenti memantau tag di semua klien dan menghapus semua buffer yang disimpan untuk caching dump pemantauan tag, gunakan:
adb shell cmd media.camera watch stop
perintah dumpsys
Perintah dumpsys
menyediakan sejumlah informasi proses debug dari kamera
layanan. Perintah berikut merekam seluruh dump proses debug dari
layanan kamera:
adb shell dumpsys media.camera
Perintah dumpsys
juga memungkinkan pengambilan dump pemantauan tag dari open source
dengan klien besar. Namun, dumpsys
tidak menyediakan dump pemantauan tag dari dump tertutup
dengan klien besar. Berikut adalah contoh penggunaan dumpsys
untuk pemantauan tag:
Catat dump pemantauan tag dari semua klien terbuka:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Dapatkan pratinjau langsung informasi pemantauan tag menggunakan Linux Perintah
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'