Verwenden Sie die in AOSP bereitgestellten Tools und die Tests der Bluetooth Special Interest Group (SIG), um den Bluetooth-Stack zu überprüfen und zu debuggen.
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 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:
Beenden Sie die Android-Laufzeit:
adb shell stop
Führen Sie im Testverzeichnis die Shell-Datei aus und geben Sie Optionen an, wenn Sie einen bestimmten Test oder eine bestimmte Testsuite ausführen möchten:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
Wenn die Tests abgeschlossen sind, aktivieren Sie die Android-Laufzeit wieder:
adb shell start
Die Liste der Testnamen finden Sie unter /packages/modules/Bluetooth/system/test/README.md
.
Profile Tuning Suite
Die Bluetooth SIG stellt das Bluetooth PTS bereit, ein Testtool für die Interoperabilität von Protokollen und Profilen. 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. 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, darunter Protokolle und Fehlerberichte. Diese Methoden funktionieren möglicherweise nicht bei Problemen, die nicht reproduziert werden können, oder bei Audioproblemen, die durch mehrere Teile 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 Log-Nachrichten die Trace-Ebene 2. Weitere Informationen zu den Protokollierungsebenen und zum Ändern der Protokollierungsebenen 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.
btsnooz.py
nutzenExtrahieren Sie die Textversion des Fehlerberichts.
Führen Sie
btsnooz.py
für die Textversion des Fehlerberichts aus:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Fehlerbehebung mit Logs
Unter Android 4.4 und höher können Sie BTSnoop-Logs manuell erfassen. Diese ähneln dem Snoop-Format in RFC 1761. In diesen Logs werden die HCI-Pakete (Host Controller Interface) erfasst. Auf den meisten Android-Geräten werden die Logs unter data/misc/bluetooth/logs
gespeichert.
Aus Datenschutzgründen werden bei der BTSnoop-Funktion, die immer aktiv ist und im Arbeitsspeicher ausgeführt wird, nur nicht personenbezogene Informationen und Ereignisse protokolliert. Damit alle Daten protokolliert werden, muss der Nutzer die Bluetooth HCI-Snoop-Protokollierung so aktivieren:
Aktivieren Sie die Entwickleroptionen auf dem Gerät.
Aktiviere im Menü Entwickleroptionen den Schalter Bluetooth HCI-Snoop-Protokoll aktivieren.
Starte Bluetooth neu, damit die Protokollierung wirksam wird.