این صفحه ابزارهای اشکال زدایی در سرویس دوربین را برای مشاهده تغییرات در درخواست عکسبرداری و مقادیر نتایجی که به 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: آرگومان اختیاری. فاصله زمانی در میلی ثانیه برای تازه کردن اطلاعات در. اگر مقداری ارسال نشود به 1000 پیشفرض میشود.
این دستور اطلاعات مانیتورینگ تگ را در زمان واقعی چاپ می کند. برای خروج، بازگشت / 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 همچنین اجازه میدهد که برچسبهای مانیتورینگ dump را از کلاینتهای باز ضبط کنید. با این حال، dumpsys تخلیههای نظارت بر برچسبها را از مشتریان بسته ارائه نمیکند. موارد زیر نمونه هایی از استفاده از dumpsys برای نظارت بر برچسب ها هستند:
از همه کلاینتهای باز، برچسبهای نظارتی را ضبط کنید:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitoredپیش نمایش زنده اطلاعات نظارت بر برچسب ها را با استفاده از دستور
watchLinux دریافت کنید:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'