אימות וניפוי באגים

כדי לאמת ולנפות באגים במערך Bluetooth, משתמשים בכלים שמופיעים ב-AOSP ובבדיקות של קבוצת העניין המיוחדת (SIG) של Bluetooth.

בדיקה ואימות

כדי לבדוק את מחסנית Bluetooth,‏ AOSP מספקת שילוב של בדיקות יחידה, בדיקות CTS וכלים ל-Bluetooth Profile Tuning Suite ‏ (PTS).

בדיקות יחידה ב-AOSP

‫AOSP כולל בדיקות פונקציונליות ובדיקות יחידה עבור מחסנית Bluetooth שמוגדרת כברירת מחדל. הבדיקות האלה נמצאות ב/packages/modules/Bluetooth/system/test/. כדי להריץ את הבדיקות של AOSP:

  1. מפסיקים את סביבת זמן הריצה של Android:

    adb shell stop
  2. מספריית הבדיקה, מריצים את קובץ ה-shell הניתן להפעלה וכוללים אפשרויות אם רוצים להריץ בדיקה ספציפית או חבילת מקרים לבדיקה:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. כשהבדיקות מסתיימות, מפעילים מחדש את זמן הריצה של 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.

  1. אני רוצה מינוי ל-btsnooz.py.

  2. לחלץ את גרסת הטקסט של הדוח על הבאג.

  3. מריצים את הפקודה 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 באופן הבא:

  1. מפעילים את אפשרויות למפתחים במכשיר.

  2. בתפריט אפשרויות למפתחים, מפעילים את המתג הפעלת יומן Snoop של Bluetooth HCI.

  3. כדי שהרישום ייכנס לתוקף, צריך להפעיל מחדש את ה-Bluetooth.