หากต้องการยืนยันและแก้ไขข้อบกพร่องของสแต็กบลูทูธ ให้ใช้เครื่องมือที่มีให้ใน AOSP และการทดสอบของ Bluetooth Special Interest Group (SIG)
ทดสอบและยืนยัน
AOSP มีชุดการทดสอบหน่วย การทดสอบ CTS และเครื่องมือสำหรับชุดการปรับแต่งโปรไฟล์บลูทูธเพื่อทดสอบสแต็กบลูทูธ
การทดสอบ 1 หน่วยใน AOSP
AOSP มีการทดสอบฟังก์ชันการทำงานและการทดสอบหน่วยสําหรับสแต็กบลูทูธเริ่มต้น การทดสอบเหล่านี้อยู่ใน
/packages/modules/Bluetooth/system/test/
หากต้องการเรียกใช้การทดสอบ AOSP ให้ทำดังนี้
- หยุดรันไทม์ Android โดยทำดังนี้
adb shell stop
- จากไดเรกทอรีทดสอบ ให้เรียกใช้ไฟล์ปฏิบัติการเชลล์และใส่ตัวเลือกหากต้องการเรียกใช้การทดสอบหรือชุดทดสอบที่เฉพาะเจาะจง ดังนี้
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- เมื่อการทดสอบเสร็จสิ้นแล้ว ให้เปิดใช้รันไทม์ Android อีกครั้งโดยทำดังนี้
adb shell start
ดูรายการชื่อการทดสอบได้ใน
/packages/modules/Bluetooth/system/test/README.md
ชุดการปรับแต่งโปรไฟล์
Bluetooth SIG มีชุดเครื่องมือปรับแต่งโปรไฟล์บลูทูธ (PTS) ซึ่งเป็นเครื่องมือทดสอบการทำงานร่วมกันของโปรโตคอลและโปรไฟล์ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ ชุดการปรับแต่งโปรไฟล์บลูทูธ
การทดสอบ CTS
ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) ประกอบด้วยการทดสอบสแต็กบลูทูธ ตั้งอยู่ใน
cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
ตัวเลือกการแก้ไขข้อบกพร่อง
AOSP มีวิธีการต่างๆ ในการแก้ไขข้อบกพร่องสแต็กบลูทูธของอุปกรณ์ ซึ่งรวมถึงบันทึกและรายงานข้อบกพร่อง วิธีการเหล่านี้อาจใช้ไม่ได้กับปัญหาที่ไม่สามารถจำลองได้หรือปัญหาเกี่ยวกับเสียง ซึ่งอาจเกิดจากหลายส่วนของแพลตฟอร์มและอุปกรณ์
การแก้ไขข้อบกพร่องด้วยรายงานข้อบกพร่อง
หากต้องการตรวจสอบสถานะบริการบลูทูธโดยใช้ 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 ที่เปิดอยู่ตลอดเวลาและ "ในหน่วยความจำ" จะบันทึกเฉพาะข้อมูลและเหตุการณ์ที่ไม่ใช่ข้อมูลส่วนบุคคลเท่านั้นเพื่อเหตุผลด้านความเป็นส่วนตัว หากต้องการบันทึกข้อมูลทั้งหมด ผู้ใช้ต้องเปิดใช้การสอดแนม HCI ของบลูทูธโดยทำดังนี้
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
- ในเมนูตัวเลือกสำหรับนักพัฒนาแอป ให้เปิดปุ่มสลับเปิดใช้บันทึก HCI Snoop ของบลูทูธ
- รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล