Sprawdzanie i debugowanie

Aby zweryfikować i debugować stos Bluetooth, użyj narzędzi dostępnych w testach AOSP i Bluetooth Special Interest Group (SIG).

Przetestuj i zweryfikuj

Do testowania stosu Bluetooth AOSP udostępnia testy jednostkowe, testy CTS i narzędzia przeznaczone do pakietu Bluetooth Profile Tuning Suite.

Testy jednostkowe w AOSP

AOSP obejmuje testy funkcjonalne i jednostkowe domyślnego stosu Bluetooth. Te testy znajdują się w: /packages/modules/Bluetooth/system/test/. Aby uruchomić testy AOSP:

  1. Zatrzymaj środowisko wykonawcze Androida:
    adb shell stop
  2. Uruchom z katalogu testowego plik wykonywalny powłoki i uwzględnij opcje, jeśli chcesz uruchomić określony zestaw testowy lub testowy:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Po zakończeniu testów ponownie włącz środowisko wykonawcze Androida:
    adb shell start

Listę nazw testów znajdziesz w /packages/modules/Bluetooth/system/test/README.md.

Pakiet dostrajania profili

Bluetooth SIG udostępnia pakiet Bluetooth Profile Tuning Suite (PTS), który pozwala testować współdziałanie protokołów i profili. Więcej informacji znajdziesz na stronie Bluetooth Profile Tuning Suite.

Testy CTS

Compatibility Test Suite (CTS) zawiera testy stosu Bluetooth. Te lokalizacje znajdują się w regionie: cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Opcje debugowania

AOSP udostępnia różne metody debugowania stosu Bluetooth na urządzeniu, w tym dzienniki i raporty o błędach. Te metody mogą nie działać w przypadku problemów, których nie da się odtworzyć, lub problemów z dźwiękiem, na które mogą wpływać różne części platformy i urządzenia.

Debugowanie za pomocą raportów o błędach

Aby sprawdzić stan usługi Bluetooth za pomocą dumpsys, użyj tego polecenia:

adb shell dumpsys bluetooth_manager

Domyślnie wszystkie komunikaty logu są na poziomie śledzenia 2. Więcej informacji o poziomach logowania i ich zmianie dla różnych profili znajdziesz w system/bt/conf/bt_stack.conf.

Aby wyodrębnić logi snoop z raportu o błędach, użyj skryptu btsnooz.

  1. Pobierz btsnooz.py.
  2. Wyodrębnij wersję tekstową raportu o błędzie.
  3. Uruchom polecenie btsnooz.py w wersji tekstowej raportu o błędzie:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Debugowanie z użyciem logów

W Androidzie 4.4 i nowszych możesz ręcznie zbierać logi BTSnoop, które przypominają format snoop w dokumencie RFC 1761. Te logi przechwytują pakiety interfejsu kontrolera hosta (HCI). W przypadku większości urządzeń z Androidem logi są przechowywane w regionie data/misc/bluetooth/logs.

Ze względu na ochronę prywatności BTSnoop rejestruje tylko zdarzenia i informacje nieosobiste, zawsze włączone i „w pamięci”. Aby rejestrować wszystkie dane, użytkownik musi włączyć snoop Bluetooth HCI, wykonując te czynności:

  1. Włącz Opcje programisty na urządzeniu.
  2. W menu Opcje programisty aktywuj przełącznik Włącz dziennik snoop Bluetooth HCI.
  3. Uruchom ponownie Bluetooth, aby zapisać dane.