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:
- Beenden Sie die Android-Laufzeit:
adb shell stop
- 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
- 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.
btsnooz.py
erhalten- Extrahieren Sie die Textversion des Fehlerberichts.
- 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:
- 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.