Verwenden Sie die in AOSP bereitgestellten Tools und die Tests der Bluetooth Special Interest Group (SIG), um den Bluetooth-Stack zu überprüfen und Fehler zu beheben.
Testen und überprüfen
Zum Testen des Bluetooth-Stacks bietet AOSP eine Mischung aus Einheitentests, CTS-Tests und Tools für die Bluetooth Profile Tuning Suite (PTS).
Einheitentests in AOSP
AOSP enthält Funktionstests und Einheitentests für den Standard-Bluetooth-Stack.
Diese Tests befinden sich in /packages/modules/Bluetooth/system/test/.
So führen Sie die AOSP-Tests aus:
Beenden Sie die Android-Laufzeitumgebung:
adb shell stopFü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 OPTIONSWenn die Tests abgeschlossen sind, aktivieren Sie die Android-Laufzeitumgebung 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 PTS an, ein Testtool für die Interoperabilität von Protokollen und Profilen. 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. Diese befinden sich in
cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.
Optionen zur Fehlerbehebung
AOSP bietet verschiedene Methoden zum Debuggen des Bluetooth-Stacks eines Geräts, darunter Logs und Fehlerberichte. 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
Verwenden Sie den folgenden Befehl, um den Status des Bluetooth-Dienstes mit dumpsys zu prüfen:
adb shell dumpsys bluetooth_managerStandardmäßig haben alle Logmeldungen 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.
Rufen Sie
btsnooz.pyab.Extrahieren Sie die Textversion des Fehlerberichts.
Führen Sie
btsnooz.pyin der Textversion des Fehlerberichts aus:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Fehlerbehebung mit Logs
In Android 4.4 und höher können Sie BTSnoop-Logs manuell erfassen, die
dem Snoop-Format in RFC 1761 ähneln. In diesen Logs werden die Host Controller Interface (HCI)-Pakete erfasst. Auf den meisten Android-Geräten werden die Logs in data/misc/bluetooth/logs gespeichert.
Aus Datenschutzgründen werden bei der Always-on-Funktion „BTSnoop im Arbeitsspeicher“ nur nicht personenbezogene Informationen und Ereignisse protokolliert. Wenn alle Daten protokolliert werden sollen, muss der Nutzer Bluetooth HCI-Snoop aktivieren. Gehen Sie dazu so vor:
Aktivieren Sie auf dem Gerät die Entwickleroptionen.
Aktivieren Sie im Menü Entwickleroptionen die Option Bluetooth HCI-Snoop-Protokoll aktivieren.
Starten Sie Bluetooth neu, damit die Protokollierung wirksam wird.