Halaman ini menjelaskan alat proses debug di layanan kamera untuk melihat perubahan dalam nilai permintaan dan hasil pengambilan yang dikirim ke dan dari HAL kamera. Layanan kamera mencakup perintah watch dan dumpsys.
Tersedia di perangkat yang menjalankan Android 13 atau yang lebih tinggi, perintah watch memungkinkan kontrol atas kapan tag dipantau dan diakses, pratinjau langsung dump pemantauan tag dari klien terbuka, dan melihat dump yang di-cache dari klien tertutup. Perintah dumpsys memungkinkan akses ke informasi 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.chromeArgumen:
tags: Daftar tag yang dipisahkan koma untuk dipantau. Juga menerima singkatan3a, dengan3amengacu pada kumpulan semuaandroid.control.*tag yang terkait dengan AF, AE, dan AWB (untuk daftar lengkap tag, lihatTagMonitor.cpp).clients: Argumen opsional. Daftar nama paket klien yang dipisahkan koma untuk tag yang dipantau. Memantau semua klien jika tidak ada argumen klien yang diteruskan, atau jikaallada dalam daftar klien.
Perintah ini memulai pemantauan tag di klien terbuka dan di klien mana pun yang dibuka berikutnya (hingga stop dipanggil). Setelah start dipanggil, layanan kamera akan meng-cache dump pemantauan tag dari klien saat klien ditutup.
Kecuali start dipanggil, layanan kamera tidak memantau tag untuk klien mana pun, dan tidak meng-cache dump pemantauan tag. Jika all diteruskan dalam parameter clients, layanan kamera akan memantau tag dan meng-cache dump pemantauan dari semua klien.
Membuang informasi pemantauan tag
Untuk membuang informasi pemantauan tag, gunakan:
adb shell cmd media.camera watch dumpPerintah ini membuang informasi pemantauan tag ke output standar, lalu keluar. Perintah 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 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 250Argumen:
refresh_interval_ms: Argumen opsional. Interval dalam milidetik untuk memperbarui informasi. Nilai defaultnya adalah 1000 jika tidak ada nilai yang diteruskan.
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 clearPerintah ini tidak menghentikan pemantauan tag.
Menghentikan pemantauan tag
Untuk menghentikan pemantauan tag di semua klien dan menghapus semua buffer yang disimpan untuk meng-cache dump pemantauan tag, gunakan:
adb shell cmd media.camera watch stopPerintah dumpsys
Perintah dumpsys menyediakan sejumlah informasi proses debug dari layanan kamera. Perintah berikut mengambil seluruh dump proses debug dari layanan kamera:
adb shell dumpsys media.cameraPerintah dumpsys juga memungkinkan pengambilan dump pemantauan tag dari klien terbuka. Namun, dumpsys tidak menyediakan dump pemantauan tag dari klien tertutup. Berikut adalah contoh penggunaan dumpsys untuk pemantauan tag:
Mengambil dump pemantauan tag dari semua klien terbuka:
adb shell dumpsys media.camera -m 3a | grep -A50 MonitoredMendapatkan pratinjau langsung informasi pemantauan tag menggunakan perintah
watchLinux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'