Vérifier et déboguer

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, AOSP fournit un ensemble de tests unitaires, de tests CTS et d'outils pour la suite de réglage des profils Bluetooth.

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, procédez comme suit:

  1. Arrêtez l'environnement d'exécution Android:
    adb shell stop
  2. Depuis le répertoire de test, exécutez le fichier exécutable de l'interface système 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
  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

Le Bluetooth SIG fournit la Bluetooth Profile Tuning Suite (PTS), un outil de test de 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) 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 ni 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 bugs

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 de journalisation sont au 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 surveillance du rapport de bug, utilisez le script btsnooz.

  1. Récupérez btsnooz.py.
  2. Extrayez la version textuelle du rapport de bug.
  3. Exécutez btsnooz.py sur la version textuelle 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 des journaux BTSnoop, qui ressemblent au format snoop de la RFC 1761. Ces journaux capturent les paquets de l'interface de contrôleur d'hôte (HCI). 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" activé en permanence n'enregistre que des informations et des événements non personnels. Pour enregistrer toutes les données, l'utilisateur doit activer le snooping HCI Bluetooth en procédant comme suit:

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