בדף הזה מתוארים הכלים לניפוי באגים בשירות המצלמה, שמאפשרים לראות שינויים בבקשת הצילום ובערכים של התוצאות שנשלחים אל HAL המצלמה וממנו. שירות המצלמה כולל את הפקודות watch
ו-dumpsys
.
הפקודה watch
זמינה במכשירים עם Android מגרסה 13 ואילך, ומאפשרת לקבוע מתי יתבצע מעקב אחרי התגים ותהיה גישה אליהם, להציג תצוגה מקדימה של נתוני גרסת dump של מעקב אחר תגים מלקוחות פתוחים ולצפות בנתוני גרסת dump שנשמרו במטמון מלקוחות סגורים. הפקודה dumpsys
מאפשרת גישה לניפוי באגים
אבל לא מספק קובצי SQL של מעקב אחרי תגים מלקוחות סגורים.
פקודת השעון
בקטע הזה נסביר איך להשתמש בפקודה 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
, שירות המצלמה עוקב אחר תגים ושמירה במטמון
קובצי SQL מכל הלקוחות.
מחיקת מידע על מעקב אחרי תגים
כדי להוריד את הנתונים של מעקב אחרי תגים, משתמשים ב:
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 אם לא מועבר ערך.
הפקודה הזו מדפיסה מידע על מעקב התגים בזמן אמת. כדי לצאת, מקישים על 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]
ניקוי תמונת מצב שנשמרה במטמון
כדי לנקות את כל קובצי ה-Dump של מעקב אחר תגים שנשמרו במטמון, משתמשים ב:
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'