หากต้องการตรวจสอบและแก้ไขข้อบกพร่องสแต็กบลูทูธ ให้ใช้เครื่องมือที่มีให้ใน AOSP และการทดสอบของ Bluetooth Special Interest Group (SIG)
ทดสอบและยืนยัน
หากต้องการทดสอบสแต็กบลูทูธ AOSP จะมีทั้งการทดสอบ 1 หน่วย การทดสอบ CTS และเครื่องมือสำหรับชุดปรับแต่งโปรไฟล์บลูทูธ
การทดสอบหน่วยใน AOSP
AOSP มีการทดสอบการทำงานและหน่วยสำหรับสแต็กบลูทูธเริ่มต้น การทดสอบเหล่านี้อยู่ใน
/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 Profile Tuning Suite (PTS) ซึ่งเป็นเครื่องมือทดสอบสำหรับความสามารถในการทำงานร่วมกันของโปรโตคอลและโปรไฟล์ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ Bluetooth Profile Tuning Suite
การทดสอบ CTS
ความเข้ากันได้ Test Suite (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 บันทึกเหล่านี้จะบันทึกแพ็กเก็ตอินเทอร์เฟซโฮสต์ตัวควบคุม (HCI)
สำหรับอุปกรณ์ Android ส่วนใหญ่ ระบบจะจัดเก็บบันทึกไว้ใน data/misc/bluetooth/logs
BTSnoop จะบันทึกเฉพาะข้อมูลและเหตุการณ์ที่ไม่ใช่ข้อมูลส่วนบุคคลเท่านั้นด้วยเหตุผลด้านความเป็นส่วนตัว หากต้องการบันทึกข้อมูลทั้งหมด ผู้ใช้จะต้องเปิดใช้ Bluetooth HCI Snoop โดยทำตามขั้นตอนต่อไปนี้
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
- ในเมนูตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ ให้เปิดใช้งานปุ่มสลับเปิดใช้บันทึก HCI Snoop ของบลูทูธ
- รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล