Weryfikacja i debugowanie

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

Testowanie i weryfikacja

Aby przetestować stos Bluetooth, AOSP udostępnia kombinację testów jednostkowych, testów CTS i narzędzi do pakietu Bluetooth Profile Tuning Suite (PTS).

Testy jednostkowe w AOSP

AOSP zawiera testy funkcjonalne i jednostkowe domyślnego stosu Bluetooth. Testy te znajdują się w /packages/modules/Bluetooth/system/test/. Aby uruchomić testy AOSP, wykonaj te czynności:

  1. Zatrzymaj środowisko wykonawcze Androida:

    adb shell stop
  2. W katalogu testowym uruchom plik wykonywalny powłoki i uwzględnij opcje, jeśli chcesz uruchomić konkretny test lub pakiet testów:

    ./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.

Profile Tuning Suite

Bluetooth SIG udostępnia Bluetooth PTS, narzędzie do testowania interoperacyjności protokołów i profili. Więcej informacji znajdziesz na stronie Bluetooth Profile Tuning Suite.

Testy CTS

Compatibility Test Suite (CTS) zawiera testy stosu Bluetooth. Znajdują się one w cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Opcje debugowania

AOSP udostępnia różne metody debugowania stosu Bluetooth urządzenia, w tym logi i raporty o błędach. Te metody mogą nie działać w przypadku problemów, których nie można odtworzyć, ani problemów z dźwiękiem, na które może mieć wpływ wiele 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 wiadomości dziennika mają poziom śledzenia 2. Więcej informacji o poziomach rejestrowania i zmianie poziomów rejestrowania dla różnych profili znajdziesz w sekcji system/bt/conf/bt_stack.conf.

Aby wyodrębnić dzienniki podsłuchu z raportu o błędzie, użyj skryptu btsnooz.

  1. Pobierz btsnooz.py.

  2. Wyodrębnij tekstową wersję raportu o błędzie.

  3. Uruchom btsnooz.py w wersji tekstowej zgłoszenia błędu:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Debugowanie za pomocą logów

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

Ze względów związanych z ochroną prywatności funkcja BTSnoop działająca w trybie ciągłym i „w pamięci” rejestruje tylko informacje i zdarzenia niezwiązane z danymi osobowymi. Aby rejestrować wszystkie dane, użytkownik musi włączyć zapisywanie w dzienniku snoopingu interfejsu HCI Bluetooth, wykonując te czynności:

  1. Włącz na urządzeniu Opcje programisty.

  2. W menu Opcje programisty włącz opcję Włącz dziennik snoop Bluetooth HCI.

  3. Aby włączyć logowanie, uruchom ponownie Bluetooth.