Vérifier et déboguer

Pour vérifier et déboguer la pile Bluetooth, utilisez les outils fournis dans AOSP et les tests de Bluetooth Special Interest Group (SIG).

Tester et valider

Pour tester la pile Bluetooth, AOSP fournit une combinaison de tests unitaires, de tests CTS et d'outils pour la suite de réglage de profil Bluetooth.

Tests unitaires dans AOSP

AOSP inclut des tests fonctionnels et unitaires pour la pile Bluetooth par défaut. Ces tests se trouvent dans la zone /packages/modules/Bluetooth/system/test/. Pour exécuter les tests AOSP, procédez comme suit:

  1. Arrêtez l'environnement d'exécution Android :
    adb shell stop
  2. À partir du répertoire de test, exécutez le fichier exécutable de l'interface système et incluez des options si vous souhaitez exécuter une suite de tests ou de tests spécifique :
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Une fois les tests terminés, réactivez l'environnement d'exécution Android :
    adb shell start

La liste des noms de test se trouve dans /packages/modules/Bluetooth/system/test/README.md.

Suite de réglage de profil

Bluetooth SIG fournit la suite Bluetooth Profile Tuning Suite (PTS), un outil de test pour l'interopérabilité des protocoles et des profils. Pour en savoir plus, consultez le site Suite de réglage des profils Bluetooth.

Tests CTS

La suite de tests de compatibilité (CTS) 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 des journaux et des rapports de bugs. 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 à l'aide des rapports de bugs

Pour vérifier l'état du service Bluetooth à l'aide de dumpsys, exécutez la commande suivante:

adb shell dumpsys bluetooth_manager

Par défaut, tous les messages de journal sont au niveau de trace 2. Pour en savoir plus sur les niveaux de journalisation et les modifier pour différents profils, consultez la page system/bt/conf/bt_stack.conf.

Pour extraire les journaux de surveillance du rapport de bug, utilisez le script btsnooz.

  1. Profitez de btsnooz.py.
  2. Extrayez la version texte du rapport de bug.
  3. Exécutez btsnooz.py sur la version texte du rapport de bug :
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Déboguer avec des journaux

Sous Android 4.4 et versions ultérieures, vous pouvez collecter manuellement les journaux BTSnoop, qui ressemblent au format Snoop du document 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 est toujours activé et "en mémoire" n'enregistre que les informations et les événements non personnels. Pour consigner toutes les données, l'utilisateur doit activer la surveillance Bluetooth HCI en procédant comme suit:

  1. Activez les Options pour les développeurs sur l'appareil.
  2. Dans le menu Developer options (Options pour les développeurs), activez le bouton Enable Bluetooth HCI Snoop log (Activer le journal de surveillance HCI Bluetooth).
  3. Redémarrez le Bluetooth pour que la journalisation prenne effet.