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

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

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