Verifizieren und Debuggen

Um den Bluetooth-Stack zu überprüfen und zu debuggen, verwenden Sie die in AOSP bereitgestellten Tools und die Tests der Bluetooth Special Interest Group (SIG).

Testen und verifizieren

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 umfasst Funktions- und Komponententests für den Standard-Bluetooth-Stack. Diese Tests befinden sich in /packages/modules/Bluetooth/system/test/ . Gehen Sie wie folgt vor, um die AOSP-Tests auszuführen:

  1. Stoppen 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 einen bestimmten Test oder eine bestimmte Testsuite ausführen möchten:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Wenn die Tests abgeschlossen sind, aktivieren Sie die Android-Laufzeitumgebung erneut:
    adb shell start

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

Testsuite für Android-Kommunikation

Die Android Comms Test Suite (ACTS) führt automatisierte Tests von Konnektivitätsstacks wie WLAN, Bluetooth und Mobilfunkdiensten durch. Das Testtool erfordert ADB und Python und ist unter tools/test/connectivity/acts zu finden.

Die ACTS-Tests für Bluetooth und Bluetooth Low Energy finden Sie in tools/test/connectivity/acts_tests/tests/google/bt/ bzw. tools/test/connectivity/acts_tests/tests/google/ble/ .

Profil-Tuning-Suite

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

AOSP bietet zusätzliche Tools zur Ergänzung des Bluetooth PTS. Diese Tools befinden sich unter tools/test/connectivity/acts_tests/tests/google/bt/pts/ .

CTS-Tests

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

Debugging-Optionen

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 betroffen sein können.

Debuggen mit Fehlerberichten

Um den Bluetooth-Dienststatus mit dumpsys zu überprüfen, verwenden Sie den folgenden Befehl:

adb shell dumpsys bluetooth_manager

Standardmäßig haben alle Protokollmeldungen die Ablaufverfolgungsstufe 2. Weitere Informationen zu den Protokollierungsstufen und zum Ändern der Protokollierungsstufen für verschiedene Profile finden Sie in system/bt/conf/bt_stack.conf .

Um Snoop-Protokolle aus dem Fehlerbericht zu extrahieren, verwenden Sie das btsnooz Skript.

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

Debuggen mit Protokollen

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

Aus Datenschutzgründen protokolliert BTSnoop im ständig aktiven „In-Memory“-Modus nur nicht-personenbezogene Informationen und Ereignisse. Um alle Daten zu protokollieren, muss der Benutzer Bluetooth HCI Snoop wie folgt aktivieren:

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