Weryfikacja i debugowanie

Aby sprawdzić i przeprowadzić debugowanie stosu Bluetooth, użyj narzędzi dostępnych w AOSP i testach Bluetooth Special Interest Group (SIG).

Testowanie i weryfikacja

Aby przetestować pakiet Bluetooth, AOSP udostępnia zestaw testów jednostkowych, testów CTS i narzędzi do zestawu narzędzi do dostrajania profilu Bluetooth.

Testy jednostkowe w AOSP

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

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

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

Profile Tuning Suite

Bluetooth SIG udostępnia pakiet Bluetooth Profile Tuning Suite (PTS), czyli 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) obejmuje testy modułu 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 zadziałać w przypadku problemów, których nie można odtworzyć, lub problemów z dźwiękiem, na które może mieć wpływ wiele elementów 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 logowania mają poziom śledzony 2. Więcej informacji o poziomach rejestrowania i o sposobie ich zmiany w przypadku różnych profili znajdziesz w artykule system/bt/conf/bt_stack.conf.

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

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

Debugowanie za pomocą logów

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

Ze względów związanych z ochroną prywatności, działająca w pamięci podręcznej usługa BTSnoop rejestruje tylko zdarzenia i informacje nieosobowe. Aby rejestrować wszystkie dane, użytkownik musi włączyć snooping interfejsu HCI Bluetooth, wykonując te czynności:

  1. Włącz na urządzeniu Opcje programisty.
  2. W menu Opcje programisty włącz przełącznik Włącz dziennik snoopingu interfejsu HCI Bluetooth.
  3. Aby zastosować logowanie, ponownie uruchom Bluetooth.