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

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

عينة الناتج:

$ 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
    
  • الحصول على معاينة مباشرة لمعلومات تتبُّع العلامات باستخدام نظام التشغيل Linux الأمر watch:

    watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'