Para verificar e depurar a pilha Bluetooth, use as ferramentas fornecidas nos testes AOSP e Bluetooth Special Interest Group (SIG).
Testando e verificando
Para testar a pilha Bluetooth, o AOSP oferece uma combinação de testes de unidade, testes CTS e ferramentas para o Bluetooth Profile Tuning Suite.
Testes unitários em AOSP
O AOSP inclui testes funcionais e de unidade para a pilha Bluetooth padrão. Esses testes estão localizados em /packages/modules/Bluetooth/system/test/
. Para executar os testes AOSP, faça o seguinte:
- Pare o tempo de execução do Android:
adb shell stop
- No diretório de teste, execute o arquivo executável do shell e inclua opções se desejar executar um teste específico ou conjunto de testes:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- Quando os testes terminarem, reative o tempo de execução do Android:
adb shell start
A lista de nomes de teste pode ser encontrada no arquivo /packages/modules/Bluetooth/system/test/run_unit_tests.sh
.
Pacote de teste de comunicações do Android
O Android Comms Test Suite (ACTS) realiza testes automatizados de pilhas de conectividade, como Wi-Fi, Bluetooth e serviços de celular. A ferramenta de teste requer adb e python e pode ser encontrada em tools/test/connectivity/acts
.
Os testes ACTS para Bluetooth e Bluetooth Low Energy são encontrados em tools/test/connectivity/acts_tests/tests/google/bt/
e tools/test/connectivity/acts_tests/tests/google/ble/
respectivamente.
Suíte de ajuste de perfil
O Bluetooth SIG fornece o Bluetooth Profile Tuning Suite (PTS), uma ferramenta de teste para interoperabilidade de protocolo e perfil. Para obter mais informações, consulte o site do Bluetooth Profile Tuning Suite .
AOSP fornece ferramentas adicionais para complementar o Bluetooth PTS. Essas ferramentas estão localizadas em tools/test/connectivity/acts_tests/tests/google/bt/pts/
.
Testes CTS
O Compatibility Test Suite (CTS) inclui testes para a pilha Bluetooth. Eles estão localizados em cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
.
Opções de depuração
O AOSP fornece diferentes métodos de depuração da pilha Bluetooth de um dispositivo, incluindo logs e relatórios de bugs. Esses métodos podem não funcionar para problemas que não podem ser reproduzidos ou para problemas de áudio, que podem ser afetados por várias partes da plataforma e do dispositivo.
Depuração com relatórios de bugs
Para verificar o status do serviço Bluetooth usando dumpsys
, use o seguinte comando:
adb shell dumpsys bluetooth_manager
Por padrão, todas as mensagens de log são de nível de rastreamento 2. Para saber mais sobre os níveis de log e alterar os níveis de log para diferentes perfis, procure em system/bt/conf/bt_stack.conf
.
Para extrair logs de espionagem do relatório de bug, use o script btsnooz
.
- Obtenha
btsnooz.py
. - Extraia a versão de texto do relatório de bug.
- Execute
btsnooz.py
na versão de texto do relatório de bug:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Depuração com logs
No Android 4.4 e posterior, você pode coletar manualmente os logs do BTSnoop, que se assemelham ao formato snoop no RFC 1761. Esses logs capturam os pacotes da Host Controller Interface (HCI). Para a maioria dos dispositivos Android, os registros são armazenados em data/misc/bluetooth/logs
.
Por motivos de privacidade, o BTSnoop sempre ativo e "na memória" registra apenas informações e eventos não pessoais. Para registrar todos os dados, o usuário precisa habilitar o snoop Bluetooth HCI fazendo o seguinte:
- Ative as opções do desenvolvedor no dispositivo.
- No menu de opções do desenvolvedor , ative a alternância Enable Bluetooth HCI snoop log .
- Reinicie o Bluetooth para que o registro tenha efeito.
Para verificar e depurar a pilha Bluetooth, use as ferramentas fornecidas nos testes AOSP e Bluetooth Special Interest Group (SIG).
Testando e verificando
Para testar a pilha Bluetooth, o AOSP oferece uma combinação de testes de unidade, testes CTS e ferramentas para o Bluetooth Profile Tuning Suite.
Testes unitários em AOSP
O AOSP inclui testes funcionais e de unidade para a pilha Bluetooth padrão. Esses testes estão localizados em /packages/modules/Bluetooth/system/test/
. Para executar os testes AOSP, faça o seguinte:
- Pare o tempo de execução do Android:
adb shell stop
- No diretório de teste, execute o arquivo executável do shell e inclua opções se desejar executar um teste específico ou conjunto de testes:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- Quando os testes terminarem, reative o tempo de execução do Android:
adb shell start
A lista de nomes de teste pode ser encontrada no arquivo /packages/modules/Bluetooth/system/test/run_unit_tests.sh
.
Pacote de teste de comunicações do Android
O Android Comms Test Suite (ACTS) realiza testes automatizados de pilhas de conectividade, como Wi-Fi, Bluetooth e serviços de celular. A ferramenta de teste requer adb e python e pode ser encontrada em tools/test/connectivity/acts
.
Os testes ACTS para Bluetooth e Bluetooth Low Energy são encontrados em tools/test/connectivity/acts_tests/tests/google/bt/
e tools/test/connectivity/acts_tests/tests/google/ble/
respectivamente.
Suíte de ajuste de perfil
O Bluetooth SIG fornece o Bluetooth Profile Tuning Suite (PTS), uma ferramenta de teste para interoperabilidade de protocolo e perfil. Para obter mais informações, consulte o site do Bluetooth Profile Tuning Suite .
AOSP fornece ferramentas adicionais para complementar o Bluetooth PTS. Essas ferramentas estão localizadas em tools/test/connectivity/acts_tests/tests/google/bt/pts/
.
Testes CTS
O Compatibility Test Suite (CTS) inclui testes para a pilha Bluetooth. Eles estão localizados em cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
.
Opções de depuração
O AOSP fornece diferentes métodos de depuração da pilha Bluetooth de um dispositivo, incluindo logs e relatórios de bugs. Esses métodos podem não funcionar para problemas que não podem ser reproduzidos ou para problemas de áudio, que podem ser afetados por várias partes da plataforma e do dispositivo.
Depuração com relatórios de bugs
Para verificar o status do serviço Bluetooth usando dumpsys
, use o seguinte comando:
adb shell dumpsys bluetooth_manager
Por padrão, todas as mensagens de log são de nível de rastreamento 2. Para saber mais sobre os níveis de log e alterar os níveis de log para diferentes perfis, procure em system/bt/conf/bt_stack.conf
.
Para extrair logs de espionagem do relatório de bug, use o script btsnooz
.
- Obtenha
btsnooz.py
. - Extraia a versão de texto do relatório de bug.
- Execute
btsnooz.py
na versão de texto do relatório de bug:btsnooz.py BUG_REPORT.txt > BTSNOOP.log
Depuração com logs
No Android 4.4 e posterior, você pode coletar manualmente os logs do BTSnoop, que se assemelham ao formato snoop no RFC 1761. Esses logs capturam os pacotes da Host Controller Interface (HCI). Para a maioria dos dispositivos Android, os registros são armazenados em data/misc/bluetooth/logs
.
Por motivos de privacidade, o BTSnoop sempre ativo e "na memória" registra apenas informações e eventos não pessoais. Para registrar todos os dados, o usuário precisa habilitar o snoop Bluetooth HCI fazendo o seguinte:
- Ative as opções do desenvolvedor no dispositivo.
- No menu de opções do desenvolvedor , ative a alternância Enable Bluetooth HCI snoop log .
- Reinicie o Bluetooth para que o registro tenha efeito.