หากต้องการยืนยันและแก้ไขข้อบกพร่องของสแต็กบลูทูธ ให้ใช้เครื่องมือที่ให้ไว้ใน AOSP และทดสอบของ Bluetooth Special Interest Group (SIG)
ทดสอบและยืนยัน
AOSP มีการทดสอบหน่วย การทดสอบ CTS และเครื่องมือสำหรับ Bluetooth Profile Tuning Suite (PTS) เพื่อทดสอบสแต็กบลูทูธ
การทดสอบหน่วยใน AOSP
AOSP มีการทดสอบฟังก์ชันและการทดสอบหน่วยสำหรับสแต็กบลูทูธเริ่มต้น
การทดสอบเหล่านี้อยู่ใน /packages/modules/Bluetooth/system/test/
หากต้องการเรียกใช้การทดสอบ AOSP ให้ทำดังนี้
หยุดรันไทม์ของ Android
adb shell stop
จากไดเรกทอรีการทดสอบ ให้เรียกใช้ไฟล์ที่เรียกใช้งานได้ของเชลล์และรวม ตัวเลือกหากต้องการเรียกใช้การทดสอบหรือชุดการทดสอบที่เฉพาะเจาะจง
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
เมื่อการทดสอบเสร็จสิ้น ให้เปิดใช้ Android Runtime อีกครั้งโดยทำดังนี้
adb shell start
ดูรายการชื่อการทดสอบได้ที่
/packages/modules/Bluetooth/system/test/README.md
ชุดเครื่องมือปรับแต่งโปรไฟล์
Bluetooth SIG มี Bluetooth PTS ซึ่งเป็น เครื่องมือทดสอบการทำงานร่วมกันของโปรโตคอลและโปรไฟล์ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ Bluetooth Profile Tuning Suite
การทดสอบ 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 ของบลูทูธ
รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล