Weryfikacja i debugowanie

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

Testowanie i weryfikacja

Aby przetestować stos Bluetooth, AOSP udostępnia mieszankę testów jednostkowych, testów CTS i narzędzi dla pakietu Bluetooth Profile Tuning Suite.

Testy jednostkowe w AOSP

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

  1. Zatrzymaj środowisko wykonawcze Androida:
    adb shell stop
  2. Z katalogu testowego uruchom plik wykonywalny powłoki i dołącz 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 włącz ponownie środowisko wykonawcze Androida:
    adb shell start

Listę nazw testów można znaleźć w /packages/modules/Bluetooth/system/test/README.md .

Zestaw testowy komunikacji Androida

Pakiet Android Comms Test Suite (ACTS) przeprowadza automatyczne testowanie stosów łączności, takich jak Wi-Fi, Bluetooth i usługi komórkowe. Narzędzie testowe wymaga adb i Pythona i można je znaleźć w tools/test/connectivity/acts .

Testy ACTS dla Bluetooth i Bluetooth Low Energy można znaleźć odpowiednio w tools/test/connectivity/acts_tests/tests/google/bt/ i tools/test/connectivity/acts_tests/tests/google/ble/ .

Pakiet dostrajania profili

Bluetooth SIG zapewnia Bluetooth Profile Tuning Suite (PTS), narzędzie do testowania interoperacyjności protokołów i profili. Więcej informacji można znaleźć w witrynie Bluetooth Profile Tuning Suite .

AOSP zapewnia dodatkowe narzędzia uzupełniające Bluetooth PTS. Narzędzia te znajdują się w tools/test/connectivity/acts_tests/tests/google/bt/pts/ .

Testy CTS

Zestaw testów zgodności (CTS) zawiera testy stosu Bluetooth. Znajdują się one w cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth .

Opcje debugowania

AOSP zapewnia różne metody debugowania stosu Bluetooth urządzenia, w tym dzienniki i raporty o błędach. Metody te mogą nie dział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 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 następującego polecenia:

adb shell dumpsys bluetooth_manager

Domyślnie wszystkie komunikaty dziennika mają poziom śledzenia 2. Aby dowiedzieć się więcej o poziomach rejestrowania i zmieniać poziomy rejestrowania dla różnych profili, zajrzyj do system/bt/conf/bt_stack.conf .

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

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

Debugowanie za pomocą logów

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

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

  1. Włącz opcje programistyczne na urządzeniu.
  2. W menu opcji programisty aktywuj przełącznik Włącz dziennik snoop Bluetooth HCI .
  3. Uruchom ponownie Bluetooth, aby rejestrowanie zaczęło obowiązywać.