اشکال‌زدایی دوربین

این صفحه ابزارهای اشکال‌زدایی در سرویس دوربین را برای مشاهده تغییرات در مقادیر درخواست و نتیجه ضبط که به و از 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 گذشته) بسته شده‌اند و جدیدترین داده‌های پایش برچسب را از مشتریان باز چاپ می‌کند.

نمونه برونداد:

$ 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: متغیر مستقل اختیاری. فاصله زمانی برحسب میلی‌ثانیه برای بازآوری اطلاعات. اگر مقداری ارسال نشود، به‌طور پیش‌فرض روی ۱۰۰۰ تنظیم می‌شود.

این فرمان اطلاعات پایش برچسب را به‌طور هم‌زمان چاپ می‌کند. برای خروج، برگشت/ورود را فشار دهید.

نمونه برونداد:

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