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