หน้านี้อธิบายเกี่ยวกับเครื่องมือดีบักในบริการกล้องสำหรับการดู
การเปลี่ยนแปลงในค่าคำขอบันทึกและผลลัพธ์ที่ส่งไปและจาก
HAL ของกล้อง บริการกล้องรวมถึงคำสั่ง watch
และ dumpsys
พร้อมใช้งานสำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป
คำสั่ง watch
ช่วยให้คุณควบคุมเวลาที่จะตรวจสอบและเข้าถึงแท็กได้แบบเรียลไทม์
การแสดงตัวอย่างดัมพ์ของการตรวจสอบแท็กจากไคลเอ็นต์ที่เปิดอยู่ และการดูแคช
ส่งออกจากลูกค้าที่ปิดแล้ว คำสั่ง dumpsys
อนุญาตให้เข้าถึงการแก้ไขข้อบกพร่อง
แต่ไม่ได้ให้ข้อมูลดัมพ์ของการตรวจสอบแท็กจากไคลเอ็นต์แบบปิด
คำสั่งนาฬิกา
ส่วนนี้จะอธิบายวิธีใช้คำสั่ง watch
พร้อมแสดงตัวอย่าง
เริ่มตรวจสอบแท็ก
หากต้องการเริ่มตรวจสอบแท็ก ให้ใช้
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
ตัวอย่าง
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
อาร์กิวเมนต์
tags
: รายการแท็กที่คั่นด้วยจุลภาคที่ต้องตรวจสอบ ยอมรับด้วยเช่นกัน ชวเลข3a
โดยที่3a
หมายถึงชุดของandroid.control.*
ทั้งหมด แท็กที่เกี่ยวข้องกับ AF, AE และ AWB (ดูรายการแท็กทั้งหมดได้ที่TagMonitor.cpp
)clients
: อาร์กิวเมนต์ที่ไม่บังคับ รายการแพ็กเกจไคลเอ็นต์ที่คั่นด้วยจุลภาค แท็กที่จะตรวจสอบ ดูลูกค้าทั้งหมดหากไม่มีลูกค้า มีการส่งอาร์กิวเมนต์ หรือมีall
อยู่ในรายการของไคลเอ็นต์
คำสั่งนี้จะเริ่มตรวจสอบแท็กในไคลเอ็นต์แบบเปิดและในไคลเอ็นต์ต่างๆ
ที่เปิดในภายหลัง (จนกว่าจะมีการเรียกใช้ stop
) หลังจากเรียก start
แล้ว
บริการกล้องจะแคชแท็กเฝ้าติดตามดัมพ์จากไคลเอ็นต์เมื่อไคลเอ็นต์
ปิด
เว้นแต่จะมีการเรียก start
บริการกล้องจะไม่ตรวจสอบแท็กสำหรับ
ไคลเอ็นต์ และจะไม่แคชดัมพ์ของการตรวจสอบแท็ก หากมีการส่งค่า all
ในฟิลด์
พารามิเตอร์ clients
บริการกล้องจะตรวจสอบแท็กและการตรวจสอบแคช
จากลูกค้าทั้งหมด
ข้อมูลการตรวจสอบแท็กดัมพ์
หากต้องการส่งออกข้อมูลการตรวจสอบแท็ก ให้ใช้
adb shell cmd media.camera watch dump
คำสั่งนี้จะถ่ายโอนข้อมูลการตรวจสอบแท็กไปยังเอาต์พุตมาตรฐาน จากนั้น
ออก พิมพ์ดัมพ์ของการตรวจสอบแท็กที่แคชจากไคลเอ็นต์ที่ปิด
ตั้งแต่ start
(หรือ clear
ที่ผ่านมา) และดัมพ์การตรวจสอบแท็กล่าสุดจากเปิด
ลูกค้า
ตัวอย่างเอาต์พุต:
$ 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
...
แสดงตัวอย่างข้อมูลการตรวจสอบแท็กแบบเรียลไทม์
หากต้องการแสดงตัวอย่างข้อมูลการตรวจสอบแท็กแบบเรียลไทม์ ให้ใช้
adb shell cmd media.camera watch live [-n refresh_interval_ms]
ตัวอย่าง
adb shell cmd media.camera watch live -n 250
อาร์กิวเมนต์
refresh_interval_ms
: อาร์กิวเมนต์ที่ไม่บังคับ ช่วงเวลาเป็นมิลลิวินาทีถึง รีเฟรชข้อมูลที่ ค่าเริ่มต้นคือ 1000 หากไม่มีการส่งค่า
คำสั่งนี้จะพิมพ์ข้อมูลการตรวจสอบแท็กแบบเรียลไทม์ หากต้องการออก ให้กด return/enter
ตัวอย่างเอาต์พุต:
$ 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]
ล้างข้อมูลที่แคช
หากต้องการล้างดัมพ์ของการตรวจสอบแท็กที่แคชไว้ทั้งหมด ให้ใช้
adb shell cmd media.camera watch clear
คำสั่งนี้จะไม่หยุดการตรวจสอบแท็ก
หยุดการตรวจสอบแท็ก
วิธีหยุดการตรวจสอบแท็กในไคลเอ็นต์ทั้งหมดและล้างบัฟเฟอร์ทั้งหมดที่คงไว้สำหรับการแคช ดัมพ์การตรวจสอบแท็ก ให้ใช้:
adb shell cmd media.camera watch stop
คำสั่ง dumpsys
คำสั่ง dumpsys
จะมีโฮสต์ของข้อมูลการแก้ไขข้อบกพร่องจากกล้อง
service. คำสั่งต่อไปนี้บันทึกดัมพ์การแก้ไขข้อบกพร่องทั้งหมดจาก
บริการกล้อง:
adb shell dumpsys media.camera
คําสั่ง dumpsys
ยังอนุญาตการบันทึกดัมพ์ของการตรวจสอบแท็กจากแบบเปิดด้วย
ลูกค้า แต่ dumpsys
ไม่ได้ให้ไฟล์ดัมพ์ของการตรวจสอบแท็กจากที่ปิด
ลูกค้า ต่อไปนี้เป็นตัวอย่างการใช้ dumpsys
สำหรับการตรวจสอบแท็ก
ดัมพ์ของการตรวจสอบแท็กจากไคลเอ็นต์ที่เปิดอยู่ทั้งหมด:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
ดูตัวอย่างแบบเรียลไทม์ของข้อมูลการตรวจสอบแท็กโดยใช้ Linux คำสั่ง
watch
:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'