Prüfen und beheben

Verwenden Sie die in AOSP bereitgestellten Tools und die Tests der Bluetooth Special Interest Group (SIG), um den Bluetooth-Stack zu prüfen und zu beheben.

Testen und prüfen

Zum Testen des Bluetooth-Stacks bietet AOSP eine Mischung aus Unit-Tests, CTS-Tests und Tools für die Bluetooth Profile Tuning Suite.

Unit-Tests in AOSP

AOSP enthält Funktions- und Unit-Tests für den Standard-Bluetooth-Stack. Diese Tests befinden sich in /packages/modules/Bluetooth/system/test/. So führen Sie die AOSP-Tests aus:

  1. Beenden Sie die Android-Laufzeit:
    adb shell stop
  2. Führen Sie die ausführbare Shell-Datei aus dem Testverzeichnis aus und fügen Sie Optionen hinzu, wenn Sie einen bestimmten Test oder eine bestimmte Testsuite ausführen möchten:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Aktivieren Sie die Android-Laufzeit nach Abschluss der Tests wieder:
    adb shell start

Die Liste der Testnamen finden Sie unter /packages/modules/Bluetooth/system/test/README.md.

Profile Tuning Suite

Die Bluetooth SIG bietet die Bluetooth Profile Tuning Suite (PTS), ein Testtool für die Protokoll- und Profilkompatibilität. Weitere Informationen finden Sie auf der Website der Bluetooth Profile Tuning Suite.

CTS-Tests

Die Compatibility Test Suite (CTS) enthält Tests für den Bluetooth-Stack. Sie befinden sich unter cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Optionen für die Fehlerbehebung

AOSP bietet verschiedene Methoden zum Debuggen des Bluetooth-Stacks eines Geräts, einschließlich Protokollen und Fehlerberichten. Diese Methoden funktionieren möglicherweise nicht bei Problemen, die nicht reproduziert werden können, oder bei Audioproblemen, die von mehreren Teilen der Plattform und des Geräts beeinflusst werden können.

Fehlerbehebung mit Fehlerberichten

Wenn Sie den Status des Bluetooth-Dienstes mit dumpsys prüfen möchten, verwenden Sie den folgenden Befehl:

adb shell dumpsys bluetooth_manager

Standardmäßig haben alle Protokollmeldungen die Trace-Ebene 2. Weitere Informationen zu den Logging-Ebenen und zum Ändern der Logging-Ebenen für verschiedene Profile finden Sie unter system/bt/conf/bt_stack.conf.

Verwenden Sie das btsnooz-Script, um Snoop-Logs aus dem Fehlerbericht zu extrahieren.

  1. btsnooz.py erhalten
  2. Extrahieren Sie die Textversion des Fehlerberichts.
  3. Führen Sie btsnooz.py auf der Textversion des Fehlerberichts aus:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Fehlerbehebung mit Protokollen

Unter Android 4.4 und höher können Sie BTSnoop-Protokolle manuell erfassen, die dem Snoop-Format in RFC 1761 ähneln. In diesen Protokollen werden die HCI-Pakete (Host Controller Interface) erfasst. Bei den meisten Android-Geräten werden die Protokolle unter data/misc/bluetooth/logs gespeichert.

Aus Datenschutzgründen werden bei der ständigen, „in-memory“-Nutzung von BTSnoop nur nicht personenbezogene Informationen und Ereignisse protokolliert. Wenn alle Daten protokolliert werden sollen, muss der Nutzer Bluetooth HCI-Snooping aktivieren. Gehen Sie dazu so vor:

  1. Aktivieren Sie auf dem Gerät die Entwickleroptionen.
  2. Aktivieren Sie im Menü Entwickleroptionen die Option Bluetooth HCI-Snoop-Protokoll aktivieren.
  3. Starten Sie Bluetooth neu, damit die Protokollierung wirksam wird.