تصف هذه الصفحة أدوات تصحيح الأخطاء في خدمة الكاميرا لعرض التغييرات في طلبات الالتقاط وقيم النتائج التي يتم إرسالها من وإلى الكاميرا HAL. تتضمن خدمة الكاميرا أوامر watch
و dumpsys
. يتوفر أمر watch
على الأجهزة التي تعمل بنظام التشغيل Android 13 أو أعلى، ويتيح التحكم في وقت مراقبة العلامات والوصول إليها، والمعاينة المباشرة لعمليات تفريغ مراقبة العلامات من العملاء المفتوحين، وعرض عمليات تفريغ البيانات المخزنة مؤقتًا من العملاء المغلقين. يسمح الأمر 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 إذا لم يتم تمرير أي قيمة.
يقوم هذا الأمر بطباعة معلومات مراقبة العلامة في الوقت الفعلي. للخروج، اضغط على العودة / أدخل .
إخراج العينة:
$ 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
مجموعة من معلومات تصحيح الأخطاء من خدمة الكاميرا. يلتقط الأمر التالي تفريغ التصحيح بالكامل من خدمة الكاميرا:
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'