Xác minh và gỡ lỗi

Để xác minh và gỡ lỗi ngăn xếp Bluetooth, hãy sử dụng các công cụ được cung cấp trong AOSP và các thử nghiệm của Nhóm quan tâm đặc biệt về Bluetooth (SIG).

Kiểm thử và xác minh

Để kiểm thử ngăn xếp Bluetooth, AOSP cung cấp một tổ hợp các bài kiểm thử đơn vị, kiểm thử CTS và các công cụ cho Bộ điều chỉnh hồ sơ Bluetooth.

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 chương trình kiểm thử này nằm trong /packages/modules/Bluetooth/system/test/. Để chạy các chương trình kiểm thử AOSP, hãy làm như sau:

  1. Dừng môi trường thời gian chạy Android:
    adb shell stop
  2. Từ thư mục kiểm thử, hãy chạy tệp thực thi shell và đưa vào các tuỳ 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
  3. Khi các chương trình kiểm thử kết thúc, hãy bật lại môi trường thời gian chạy Android:
    adb shell start

Bạn có thể tìm thấy danh sách tên kiểm thử trong /packages/modules/Bluetooth/system/test/README.md.

Bộ điều chỉnh hồ sơ

Bluetooth SIG cung cấp Bộ điều chỉnh hồ sơ Bluetooth (PTS), một công cụ kiểm thử cho khả năng tương tác của giao thức và hồ sơ. Để biết thêm thông tin, hãy xem trang web Bluetooth Profile Tuning Suite (Bộ điều chỉnh hồ sơ Bluetooth).

Kiểm thử CTS

Bộ kiểm thử tính tương thích (CTS) bao gồm các bài kiểm thử cho ngăn xếp Bluetooth. Các hàm này nằm trong cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Tuỳ 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. Các phương thức này có thể không hoạt động đố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ó thể chịu ảnh hưởng của nhiều phần trên 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 sử dụng lệnh sau:

adb shell dumpsys bluetooth_manager

Theo mặc định, tất cả thông điệp 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ác cấp độ ghi nhật ký cho các hồ sơ khác nhau, hãy xem trong 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.

  1. Lấy btsnooz.py.
  2. Giải nén phiên bản văn bản của báo cáo lỗi.
  3. 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, giống với định dạng snoop trong RFC 1761. Các nhật ký này ghi lại các gói Giao diện điều khiển 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 bảo mật, BTSnoop "luôn bật", "trong bộ nhớ" chỉ ghi lại các sự kiện và thông tin không phải 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:

  1. Bật Tuỳ chọn cho nhà phát triển trên thiết bị.
  2. Trong trình đơn Tuỳ chọn cho nhà phát triển, hãy kích hoạt nút bật/tắt Enable Bluetooth HCI snoop log (Bật nhật ký theo dõi HCI Bluetooth).
  3. Khởi động lại Bluetooth để tính năng ghi nhật ký có hiệu lực.