Để xác minh và gỡ lỗi ngăn xếp Bluetooth, hãy sử dụng các công cụ có trong AOSP và các kiểm thử của Nhóm lợi ích đặc biệt (SIG) về Bluetooth.
Kiểm thử và xác minh
Để kiểm thử ngăn xếp Bluetooth, AOSP cung cấp nhiều bài kiểm thử đơn vị, bài kiểm thử CTS và các công cụ cho Bộ điều chỉnh hồ sơ Bluetooth (PTS).
Kiểm thử đơn vị trong AOSP
AOSP bao gồm các kiểm thử chức năng và kiểm thử đơn vị cho ngăn xếp Bluetooth mặc định.
Các kiểm thử này nằm trong /packages/modules/Bluetooth/system/test/
.
Để chạy các kiểm thử AOSP, hãy làm như sau:
Dừng thời gian chạy Android:
adb shell stop
Từ thư mục kiểm thử, hãy chạy tệp thực thi shell và thêm các lựa chọn nếu bạn muốn chạy một kiểm thử hoặc bộ kiểm thử cụ thể:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
Khi các kiểm thử kết thúc, hãy bật lại thời gian chạy Android:
adb shell start
Bạn có thể xem danh sách tên kiểm thử trong /packages/modules/Bluetooth/system/test/README.md
.
Bộ công cụ điều chỉnh hồ sơ
Bluetooth SIG cung cấp Bluetooth PTS, một công cụ kiểm thử để tương tác giao thức và hồ sơ. Để biết thêm thông tin, hãy xem trang web Bluetooth Profile Tuning Suite.
Các bài kiểm thử CTS
Bộ kiểm tra tính tương thích (CTS) bao gồm các kiểm thử cho ngăn xếp Bluetooth. Các tệp này nằm trong cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
.
Các lựa chọn gỡ lỗi
AOSP cung cấp nhiều phương thức gỡ lỗi ngăn xếp Bluetooth của thiết bị, bao gồm cả nhật ký và báo cáo lỗi. Những phương pháp này có thể không hiệu quả đối với các vấn đề không thể tái hiện hoặc đối với các vấn đề về âm thanh. Các vấn đề này có thể bị ảnh hưởng bởi nhiều phần của nền tảng và thiết bị.
Gỡ lỗi bằng báo cáo lỗi
Để kiểm tra trạng thái dịch vụ Bluetooth bằng dumpsys
, hãy dùng lệnh sau:
adb shell dumpsys bluetooth_manager
Theo mặc định, tất cả thông báo nhật ký đều ở cấp độ theo dõi 2. Để tìm hiểu thêm về các cấp độ ghi nhật ký và thay đổi cấp độ ghi nhật ký cho các hồ sơ khác nhau, hãy xem system/bt/conf/bt_stack.conf
.
Để trích xuất nhật ký theo dõi từ báo cáo lỗi, hãy sử dụng tập lệnh btsnooz
.
Tải
btsnooz.py
.Trích xuất phiên bản văn bản của báo cáo lỗi.
Chạy
btsnooz.py
trên phiên bản văn bản của báo cáo lỗi:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Gỡ lỗi bằng nhật ký
Trong Android 4.4 trở lên, bạn có thể thu thập nhật ký BTSnoop theo cách thủ công. Nhật ký này tương tự như định dạng snoop trong RFC 1761. Các nhật ký này ghi lại các gói Giao diện trình kiểm soát máy chủ (HCI). Đối với hầu hết các thiết bị Android, nhật ký được lưu trữ trong data/misc/bluetooth/logs
.
Vì lý do riêng tư, BTSnoop "trong bộ nhớ" luôn bật chỉ ghi lại các sự kiện và thông tin không phải là thông tin cá nhân. Để ghi nhật ký tất cả dữ liệu, người dùng cần bật tính năng theo dõi HCI Bluetooth bằng cách làm như sau:
Bật Tuỳ chọn cho nhà phát triển trên thiết bị.
Trong trình đơn Tuỳ chọn cho nhà phát triển, hãy bật nút Bật nhật ký theo dõi HCI Bluetooth.
Khởi động lại Bluetooth để nhật ký có hiệu lực.