تصف هذه الصفحة أدوات تصحيح الأخطاء المتوفرة في خدمة الكاميرا لعرض التغييرات في طلب الالتقاط وقيم النتائج التي يتم إرسالها من وإلى طبقة تجريد الأجهزة (HAL) للكاميرا. تتضمّن خدمة الكاميرا الأمرَين watch
وdumpsys
.
يتوفّر الأمر watch
على الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، ويتيح لك التحكّم في وقت تتبُّع العلامات والوصول إليها، والمعاينة المباشرة لعمليات تفريغ بيانات العلامات من البرامج المفتوحة، وعرض البيانات المخزَّنة مؤقتًا من العملاء المغلقين. يسمح الأمر dumpsys
بالوصول إلى معلومات debugging
، ولكنه لا يقدّم نُسخًا تمهيدية لمراقبة العلامات من العملاء المغلقين.
أمر مشاهدة
يوضّح هذا القسم كيفية استخدام الأمر 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.*
العلامات ذات الصلة بميزة "ضبط التركيز التلقائي" وميزة "ضبط الإضاءة التلقائية" وميزة "ضبط التوازن الأبيض تلقائيًا" (للحصول على القائمة الكاملة للعلامات، يُرجى الاطّلاع على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
مجموعة من معلومات تصحيح الأخطاء من خدمة
الكاميرا. يسجِّل الأمر التالي ملف تفريغ تصحيح الأخطاء بالكامل من خدمة الكاميرا:
adb shell dumpsys media.camera
يتيح الأمر dumpsys
أيضًا التقاط عمليات تفريغ العلامة التي تراقبها من البرامج المفتوحة. ومع ذلك، لا يوفّر dumpsys
نُسخًا مجمّعة لمراقبة العلامات من العميل المغلق. في ما يلي أمثلة على استخدام dumpsys
لمراقبة العلامات:
يمكنك تسجيل نُسخ احتياطية من بيانات مراقبة العلامات من جميع العملاء المفتوحة:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
احصل على معاينة مباشرة لمعلومات تتبُّع العلامة باستخدام الأمر
watch
في نظام التشغيل Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'