تصحيح أخطاء الكاميرا

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تصف هذه الصفحة أدوات التصحيح في خدمة الكاميرا لعرض التغييرات في طلب الالتقاط وقيم النتائج التي يتم إرسالها من وإلى الكاميرا 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

يقوم هذا الأمر بتفريغ معلومات مراقبة العلامة إلى الإخراج القياسي ثم الخروج منها. يقوم بطباعة مقالب مراقبة العلامات المخزنة مؤقتًا من العملاء الذين تم clear منذ start (أو المسح الأخير) وآخر تفريغ لمراقبة العلامات من العملاء المفتوحين.

إخراج العينة:

$ 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'