Prüfen und Fehler beheben

Verwenden Sie zum Prüfen und Debuggen des Bluetooth-Stacks die in AOSP und den SIG-Tests der Bluetooth Special Interest Group bereitgestellten Tools.

Testen und bestätigen

Zum Testen des Bluetooth-Stacks bietet AOSP eine Mischung aus Einheitentests, CTS-Tests und Tools für die Bluetooth-Profilabstimmungssuite.

Unit tests in AOSP

AOSP enthält Funktions- und Einheitentests für den standardmäßigen 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 im Testverzeichnis die ausführbare Shell-Datei aus und fügen Sie Optionen hinzu, wenn Sie eine bestimmte Test- oder Testsuite ausführen möchten:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Aktivieren Sie nach Abschluss der Tests die Android-Laufzeit wieder:
    adb shell start

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

Profilabstimmungssuite

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

CTS-Tests

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

Optionen zur Fehlerbehebung

AOSP bietet verschiedene Methoden zur Fehlerbehebung im Bluetooth-Stack 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 betroffen sein können.

Fehlerbehebung mit Fehlerberichten

Verwenden Sie den folgenden Befehl, um den Bluetooth-Dienststatus mit dumpsys zu prüfen:

adb shell dumpsys bluetooth_manager

Standardmäßig haben alle Logeinträge 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 Skript btsnooz, um Snoop-Logs aus dem Fehlerbericht zu extrahieren.

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

Fehlerbehebung mit Logs

Unter Android 4.4 und höher kannst du BTSnoop-Logs manuell erfassen, die dem Snoop-Format in RFC 1761 ähneln. Diese Logs erfassen die HCI-Pakete (Host Controller Interface). Bei den meisten Android-Geräten werden die Protokolle in data/misc/bluetooth/logs gespeichert.

Aus Datenschutzgründen protokolliert immer ein „In-Memory“-BTSnoop nur nicht personenbezogene Daten und Ereignisse. Um alle Daten zu protokollieren, muss der Nutzer Bluetooth HCI-Snoop aktivieren. Dazu muss er Folgendes tun:

  1. Aktivieren Sie die Entwickleroptionen auf dem Gerät.
  2. Aktivieren Sie im Menü Entwickleroptionen die Ein/Aus-Schaltfläche Bluetooth HCI-Snoop-Protokoll aktivieren.
  3. Starte Bluetooth neu, damit die Protokollierung wirksam wird.