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