驗證並偵錯

如要驗證藍牙堆疊並進行偵錯,請使用 Android 開放原始碼計畫和藍牙特殊興趣群組 (SIG) 測試。

測試並驗證

為了測試藍牙堆疊,Android 開放原始碼計畫提供多種單元測試 藍牙設定檔調整套件的 CTS 測試和工具。

Android 開放原始碼計畫中的單元測試

Android 開放原始碼計畫提供預設功能和單元測試 藍牙堆疊。這些測試位於 /packages/modules/Bluetooth/system/test/。 如要執行 Android 開放原始碼計畫測試,請按照下列步驟操作:

  1. 停止 Android 執行階段:
    adb shell stop
  2. 在測試目錄中,執行殼層執行檔 如果您要執行特定測試或測試套件,可加入以下選項:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. 測試完成後,請重新啟用 Android 執行階段:
    adb shell start

您可以在 /packages/modules/Bluetooth/system/test/README.md 中找到測試名稱清單。

設定檔調整套件

Bluetooth SIG 提供藍牙設定檔調整套件 (PTS), 這是測試通訊協定和設定檔互通性的測試工具。 如需詳細資訊,請參閱 藍牙設定檔調整套件網站。

CTS 測試

Compatibility Test Suite (CTS) 包含藍牙堆疊的測試這些位於 cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth

偵錯選項

Android 開放原始碼計畫提供不同的裝置偵錯方法 藍牙堆疊,包括記錄和錯誤報告。這些方法 處理無法重現的問題或音訊問題 可能會受到平台和裝置的多個部分影響

使用錯誤報告進行偵錯

如要使用 dumpsys 檢查藍牙服務狀態,請按照下列步驟操作: 請使用以下指令:

adb shell dumpsys bluetooth_manager

根據預設,所有記錄訊息都是追蹤層級 2。 進一步瞭解記錄等級和變更記錄等級 若有不同的設定檔,請查看 system/bt/conf/bt_stack.conf

如要從錯誤報告中擷取窺探記錄,請使用 btsnooz 指令碼。

  1. 取得 btsnooz.py
  2. 擷取錯誤報告的文字版本。
  3. 在文字版本的錯誤報告上執行 btsnooz.py
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

使用記錄進行偵錯

在 Android 4.4 以上版本中,您可以手動收集 BTSnoop 記錄、 ,類似 RFC 1761 中的「Snoop」格式這些記錄檔會擷取 主機控制器介面 (HCI) 封包。 大多數 Android 裝置的記錄都儲存在 data/misc/bluetooth/logs

基於隱私權考量,裝置螢幕長亮模式應一律開啟,且處於「記憶體內」功能僅限 BTSnoop 的記錄 非個人資訊和活動如要記錄所有資料,使用者必須 按照下列步驟啟用藍牙 HCI 窺探功能:

  1. 在裝置上啟用「開發人員選項」
  2. 在「開發人員選項」選單中,啟用 啟用藍牙 HCI 窺探記錄切換鈕。
  3. 請重新啟動藍牙,讓記錄功能生效。