Halaman ini menjelaskan alat debugging di layanan kamera untuk melihat perubahan dalam permintaan pengambilan dan nilai hasil yang dikirim ke dan dari HAL kamera. Layanan kamera mencakup perintah watch
dan dumpsys
. Tersedia di perangkat yang menjalankan Android 13 atau lebih tinggi, perintah watch
memungkinkan kontrol kapan tag dipantau dan diakses, pratinjau langsung dump pemantauan tag dari klien terbuka, dan melihat dump cache dari klien tertutup. Perintah dumpsys
memungkinkan untuk mengakses informasi debug tetapi tidak menyediakan dump pemantauan tag dari klien tertutup.
perintah tonton
Bagian ini menjelaskan cara menggunakan perintah watch
dan memberikan contoh.
Mulai pantau 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 koma untuk dipantau. Juga menerima singkatan3a
, yang mana3a
mengacu pada kumpulan semua tagandroid.control.*
yang terkait dengan AF, AE, dan AWB (untuk daftar lengkap tag, lihatTagMonitor.cpp
). -
clients
: Argumen opsional. Daftar nama paket klien yang dipisahkan koma yang tagnya dipantau. Mengawasi semua klien jika tidak ada argumen klien yang disampaikan, atau jikaall
ada dalam daftar klien.
Perintah ini memulai pemantauan tag di klien terbuka dan di klien mana pun yang kemudian dibuka (sampai stop
dipanggil). Setelah start
dipanggil, Layanan kamera menyimpan dump pemantauan tag dari klien ketika klien ditutup.
Kecuali jika start
dipanggil, layanan kamera tidak memantau tag untuk klien mana pun, dan tidak menyimpan dump pemantauan tag dalam cache. Jika all
diteruskan dalam parameter clients
, layanan kamera akan memantau tag dan menyimpan cache pemantauan dump dari semua klien.
Informasi pemantauan tag pembuangan
Untuk membuang informasi pemantauan tag, gunakan:
adb shell cmd media.camera watch dump
Perintah ini membuang informasi pemantauan tag ke output standar dan kemudian keluar. Ini mencetak dump pemantauan tag yang di-cache dari klien yang telah ditutup sejak start
(atau clear
terakhir) dan dump pemantauan tag terbaru dari klien terbuka.
Contoh keluaran:
$ 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
...
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 untuk menyegarkan informasi. Defaultnya adalah 1000 jika tidak ada nilai yang diteruskan.
Perintah ini mencetak informasi pemantauan tag secara real time. Untuk keluar, tekan kembali / enter .
Contoh keluaran:
$ 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]
Hapus dump cache
Untuk menghapus semua dump pemantauan tag yang di-cache, gunakan:
adb shell cmd media.camera watch clear
Perintah ini tidak menghentikan pemantauan tag.
Hentikan pemantauan tag
Untuk menghentikan pemantauan tag di semua klien dan menghapus semua buffer yang disimpan untuk cache dump pemantauan tag, gunakan:
adb shell cmd media.camera watch stop
perintah dumpsys
Perintah dumpsys
menyediakan sejumlah informasi debug dari layanan kamera. Perintah berikut menangkap seluruh dump debugging dari layanan kamera:
adb shell dumpsys media.camera
Perintah dumpsys
juga memungkinkan pengambilan dump pemantauan tag dari klien terbuka. Namun, dumpsys
tidak menyediakan dump pemantauan tag dari klien tertutup. Berikut ini adalah contoh penggunaan dumpsys
untuk pemantauan tag:
Tangkap dump pemantauan tag dari semua klien terbuka:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Dapatkan pratinjau langsung informasi pemantauan tag menggunakan perintah
watch
Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'