Per verificare ed eseguire il debug dello stack Bluetooth, utilizzare gli strumenti forniti nei test AOSP e Bluetooth Special Interest Group (SIG).
Testare e verificare
Per testare lo stack Bluetooth, AOSP fornisce un mix di test unitari, test CTS e strumenti per Bluetooth Profile Tuning Suite.
Test unitari in AOSP
AOSP include test funzionali e unitari per lo stack Bluetooth predefinito. Questi test si trovano in /packages/modules/Bluetooth/system/test/
. Per eseguire i test AOSP, procedere come segue:
- Arresta il runtime Android:
adb shell stop
- Dalla directory test, esegui il file eseguibile della shell e includi le opzioni se desideri eseguire un test o una suite di test specifici:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- Al termine dei test, riattivare il runtime Android:
adb shell start
L'elenco dei nomi dei test è disponibile in /packages/modules/Bluetooth/system/test/README.md
.
Suite di test per le comunicazioni Android
Android Comms Test Suite (ACTS) esegue test automatizzati di stack di connettività, come Wi-Fi, Bluetooth e servizi cellulari. Lo strumento di test richiede adb e python e può essere trovato in tools/test/connectivity/acts
.
I test ACTS per Bluetooth e Bluetooth Low Energy si trovano rispettivamente in tools/test/connectivity/acts_tests/tests/google/bt/
e tools/test/connectivity/acts_tests/tests/google/ble/
.
Suite di ottimizzazione del profilo
Bluetooth SIG fornisce Bluetooth Profile Tuning Suite (PTS), uno strumento di test per l'interoperabilità di protocolli e profili. Per ulteriori informazioni, consultare il sito Bluetooth Profile Tuning Suite .
AOSP fornisce strumenti aggiuntivi per integrare Bluetooth PTS. Questi strumenti si trovano in tools/test/connectivity/acts_tests/tests/google/bt/pts/
.
Prove CTS
La Compatibility Test Suite (CTS) include test per lo stack Bluetooth. Questi si trovano in cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
.
Opzioni di debug
AOSP fornisce diversi metodi di debug dello stack Bluetooth di un dispositivo, inclusi registri e segnalazioni di bug. Questi metodi potrebbero non funzionare per problemi che non possono essere riprodotti o per problemi audio, che possono essere influenzati da più parti della piattaforma e del dispositivo.
Debug con segnalazioni di bug
Per verificare lo stato del servizio Bluetooth utilizzando dumpsys
, utilizzare il seguente comando:
adb shell dumpsys bluetooth_manager
Per impostazione predefinita, tutti i messaggi di registro sono di livello di traccia 2. Per saperne di più sui livelli di registrazione e modificare i livelli di registrazione per diversi profili, cercare in system/bt/conf/bt_stack.conf
.
Per estrarre i log di snoop dalla segnalazione di bug, utilizzare lo script btsnooz
.
- Ottieni
btsnooz.py
. - Estrai la versione testuale della segnalazione di bug.
- Esegui
btsnooz.py
sulla versione testuale della segnalazione di bug:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Debug con i log
In Android 4.4 e versioni successive, puoi raccogliere manualmente i log BTSnoop, che assomigliano al formato snoop in RFC 1761. Questi log acquisiscono i pacchetti HCI (Host Controller Interface). Per la maggior parte dei dispositivi Android, i registri vengono archiviati in data/misc/bluetooth/logs
.
Per motivi di privacy, BTSnoop sempre attivo e "in memoria" registra solo informazioni ed eventi non personali. Per registrare tutti i dati, l'utente deve abilitare lo snoop Bluetooth HCI procedendo come segue:
- Abilita le opzioni sviluppatore sul dispositivo.
- Nel menu Opzioni sviluppatore , attiva l'interruttore Abilita registro snoop Bluetooth HCI .
- Riavviare il Bluetooth affinché la registrazione abbia effetto.