Vérification et débogage

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

Test et vérification

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

Tests unitaires dans AOSP

AOSP comprend 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 le runtime Android :
    adb shell stop
  2. Depuis le répertoire 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écifique :
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Une fois les tests terminés, réactivez le runtime Android :
    adb shell start

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

Suite de tests de communications Android

La suite de tests Android Comms (ACTS) effectue des tests automatisés des piles de connectivité, telles que les services Wi-Fi, Bluetooth et cellulaires. L'outil de test nécessite adb et python, et il se trouve dans tools/test/connectivity/acts .

Les tests ACTS pour Bluetooth et Bluetooth Low Energy se trouvent respectivement dans tools/test/connectivity/acts_tests/tests/google/bt/ et tools/test/connectivity/acts_tests/tests/google/ble/ .

Suite de réglage de profil

Le Bluetooth SIG fournit la Bluetooth Profile Tuning Suite (PTS), un outil de test pour l'interopérabilité des protocoles et des profils. Pour plus d’informations, consultez le site Bluetooth Profile Tuning Suite .

AOSP fournit des outils supplémentaires pour compléter le Bluetooth PTS. Ces outils se trouvent dans tools/test/connectivity/acts_tests/tests/google/bt/pts/ .

Tests CTS

La suite de tests de compatibilité (CTS) comprend des tests pour la pile Bluetooth. Ceux-ci 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, notamment des journaux et des rapports de bogues. 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ébogage avec rapports de bogues

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

adb shell dumpsys bluetooth_manager

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

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

  1. Obtenez 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ébogage avec les journaux

Sous 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, toujours actif et « en mémoire », enregistre uniquement les informations et événements non personnels. Pour enregistrer toutes les données, l'utilisateur doit activer la surveillance Bluetooth HCI en procédant comme suit :

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