כדי לאמת ולנפות באגים במערך Bluetooth, משתמשים בכלים שמופיעים ב-AOSP ובבדיקות של קבוצת העניין המיוחדת (SIG) של Bluetooth.
בדיקה ואימות
כדי לבדוק את מחסנית Bluetooth, AOSP מספקת שילוב של בדיקות יחידה, בדיקות CTS וכלים ל-Bluetooth Profile Tuning Suite (PTS).
בדיקות יחידה ב-AOSP
AOSP כולל בדיקות פונקציונליות ובדיקות יחידה עבור מחסנית Bluetooth שמוגדרת כברירת מחדל.
הבדיקות האלה נמצאות ב/packages/modules/Bluetooth/system/test/.
כדי להריץ את הבדיקות של AOSP:
מפסיקים את סביבת זמן הריצה של Android:
adb shell stopמספריית הבדיקה, מריצים את קובץ ה-shell הניתן להפעלה וכוללים אפשרויות אם רוצים להריץ בדיקה ספציפית או חבילת מקרים לבדיקה:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONSכשהבדיקות מסתיימות, מפעילים מחדש את זמן הריצה של Android:
adb shell start
רשימת שמות הבדיקות מופיעה ב-/packages/modules/Bluetooth/system/test/README.md.
חבילת הכלים לשיפור הפרופיל
ארגון Bluetooth SIG מספק את Bluetooth PTS, כלי לבדיקת יכולת פעולה הדדית של פרוטוקולים ופרופילים. מידע נוסף זמין באתר Bluetooth Profile Tuning Suite.
בדיקות CTS
חבילת הבדיקות לתאימות (CTS) כוללת בדיקות למערך Bluetooth. הם נמצאים בתיקייה cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.
אפשרויות לניפוי באגים
ב-AOSP יש שיטות שונות לניפוי באגים במערכת ה-Bluetooth של המכשיר, כולל יומנים ודוחות על באגים. יכול להיות שהשיטות האלה לא יעבדו במקרים של בעיות שלא ניתן לשחזר או של בעיות באודיו, שיכולות להיות מושפעות מכמה חלקים בפלטפורמה ובמכשיר.
ניפוי באגים באמצעות דוחות על באגים
כדי לבדוק את הסטטוס של שירות ה-Bluetooth באמצעות dumpsys, משתמשים בפקודה הבאה:
adb shell dumpsys bluetooth_managerכברירת מחדל, כל הודעות היומן הן ברמת מעקב 2. מידע נוסף על רמות הרישום ביומן ועל שינוי רמות הרישום ביומן עבור פרופילים שונים זמין במאמר system/bt/conf/bt_stack.conf.
כדי לחלץ יומני מעקב מהדוח על הבאג, משתמשים בסקריפט btsnooz.
אני רוצה מינוי ל-
btsnooz.py.לחלץ את גרסת הטקסט של הדוח על הבאג.
מריצים את הפקודה
btsnooz.pyעל גרסת הטקסט של הדוח על הבאג:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
ניפוי באגים באמצעות יומנים
ב-Android 4.4 ואילך, אפשר לאסוף באופן ידני יומני BTSnoop, שדומים לפורמט snoop ב-RFC 1761. ביומנים האלה מתועדות חבילות של ממשק בקר המארח (HCI). ברוב מכשירי Android, היומנים מאוחסנים ב-data/misc/bluetooth/logs.
מטעמי פרטיות, BTSnoop שפועל תמיד ומתבסס על זיכרון מתעד רק מידע ואירועים לא אישיים. כדי לרשום את כל הנתונים, המשתמש צריך להפעיל את Snoop של Bluetooth HCI באופן הבא:
מפעילים את אפשרויות למפתחים במכשיר.
בתפריט אפשרויות למפתחים, מפעילים את המתג הפעלת יומן Snoop של Bluetooth HCI.
כדי שהרישום ייכנס לתוקף, צריך להפעיל מחדש את ה-Bluetooth.