หากต้องการยืนยันและแก้ไขข้อบกพร่องของสแต็กบลูทูธ ให้ใช้เครื่องมือที่ระบุไว้ใน 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 ของบลูทูธ
รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล