Pour vérifier et déboguer la pile Bluetooth, utilisez les outils fournis dans AOSP et les tests du Bluetooth Special Interest Group (SIG).
Tester et vérifier
Pour tester la pile Bluetooth, l'AOSP fournit un ensemble de tests unitaires, de tests CTS et d'outils pour la suite de tests de profil Bluetooth (PTS).
Tests unitaires dans AOSP
AOSP inclut des tests fonctionnels et unitaires pour la pile Bluetooth par défaut.
Ces tests se trouvent dans /packages/modules/Bluetooth/system/test/
.
Pour exécuter les tests AOSP :
Arrêtez l'environnement d'exécution Android :
adb shell stop
Depuis le répertoire de test, exécutez le fichier exécutable du shell et incluez des options si vous souhaitez exécuter un test ou une suite de tests spécifiques :
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
Une fois les tests terminés, réactivez le runtime Android :
adb shell start
La liste des noms de tests est disponible dans /packages/modules/Bluetooth/system/test/README.md
.
Suite de réglage de profil
Le Bluetooth SIG fournit le Bluetooth PTS, un outil de test pour l'interopérabilité des protocoles et des profils. Pour en savoir plus, consultez le site Bluetooth Profile Tuning Suite.
Tests CTS
La suite de tests de compatibilité (CTS, Compatibility Test Suite) inclut des tests pour la pile Bluetooth. Ils se trouvent dans cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
.
Options de débogage
AOSP propose différentes méthodes de débogage de la pile Bluetooth d'un appareil, y compris les journaux et les rapports de bug. Ces méthodes peuvent ne pas fonctionner pour les problèmes qui ne peuvent pas être reproduits ou pour les problèmes audio, qui peuvent être affectés par plusieurs parties de la plate-forme et de l'appareil.
Déboguer avec des rapports de bug
Pour vérifier l'état du service Bluetooth à l'aide de dumpsys
, utilisez la commande suivante :
adb shell dumpsys bluetooth_manager
Par défaut, tous les messages du journal sont de niveau de trace 2. Pour en savoir plus sur les niveaux de journalisation et les modifier pour différents profils, consultez system/bt/conf/bt_stack.conf
.
Pour extraire les journaux de reniflage du rapport de bug, utilisez le script btsnooz
.
Obtenez
btsnooz.py
.Extrayez la version texte du rapport de bug.
Exécutez
btsnooz.py
sur la version texte du rapport de bug :btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Déboguer avec les journaux
Dans Android 4.4 et versions ultérieures, vous pouvez collecter manuellement les journaux BTSnoop, qui ressemblent au format snoop de la RFC 1761. Ces journaux capturent les paquets HCI (Host Controller Interface). Pour la plupart des appareils Android, les journaux sont stockés dans data/misc/bluetooth/logs
.
Pour des raisons de confidentialité, BTSnoop "en mémoire" et toujours activé n'enregistre que les informations et événements non personnels. Pour enregistrer toutes les données, l'utilisateur doit activer l'enregistrement des données relatives à la connectivité HCI Bluetooth en procédant comme suit :
Activez les options pour les développeurs sur l'appareil.
Dans le menu Options pour les développeurs, activez l'option Activer le journal de surveillance HCI Bluetooth.
Redémarrez le Bluetooth pour que la journalisation prenne effet.