כדי לאמת ולנפות באגים במערך Bluetooth, משתמשים בכלים שמופיעים ב-AOSP ובבדיקות של קבוצת העניין המיוחדת (SIG) של Bluetooth.
בדיקה ואימות
כדי לבדוק את מחסנית ה-Bluetooth, AOSP מספקת שילוב של בדיקות יחידה, בדיקות CTS וכלים לחבילת ההתאמה של פרופיל ה-Bluetooth (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. ביומנים האלה מתועדות חבילות של Host Controller Interface (HCI). ברוב מכשירי Android, היומנים מאוחסנים ב-data/misc/bluetooth/logs
.
מטעמי פרטיות, BTSnoop פועל תמיד, 'בזיכרון', ומתעד רק מידע ואירועים לא אישיים. כדי לרשום את כל הנתונים, המשתמש צריך להפעיל את Bluetooth HCI snoop באופן הבא:
מפעילים את אפשרויות למפתחים במכשיר.
בתפריט אפשרויות למפתחים, מפעילים את המתג הפעלת יומן Snoop של Bluetooth HCI.
כדי שהרישום ייכנס לתוקף, צריך להפעיל מחדש את ה-Bluetooth.