Verificar e depurar

Para verificar e depurar a pilha Bluetooth, use as ferramentas fornecidas no AOSP e os testes do Bluetooth Special Interest Group (SIG).

Testar e verificar

Para testar a pilha Bluetooth, o AOSP oferece uma combinação de testes de unidade, testes do CTS e ferramentas para o Bluetooth Profile Tuning Suite (PTS).

Testes de unidade no 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 do AOSP, faça o seguinte:

  1. Pare o ambiente de execução do Android:

    adb shell stop
  2. No diretório de teste, execute o arquivo executável do shell e inclua opções se quiser executar um teste ou um conjunto de testes específico:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Quando os testes terminarem, reative o ambiente de execução do Android:

    adb shell start

A lista de nomes de testes pode ser encontrada em /packages/modules/Bluetooth/system/test/README.md.

Pacote de ajuste de perfil

O Bluetooth SIG oferece o Bluetooth PTS, uma ferramenta de teste para interoperabilidade de protocolo e perfil. Para mais informações, consulte o site do Bluetooth Profile Tuning Suite.

Testes do CTS

O conjunto de teste de compatibilidade (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 oferece diferentes métodos de depuração da pilha Bluetooth de um dispositivo, incluindo registros 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 registro são do nível de rastreamento 2. Para saber mais sobre os níveis de geração de registros e mudar os níveis de diferentes perfis, consulte system/bt/conf/bt_stack.conf.

Para extrair registros de snoop do relatório de bug, use o script btsnooz.

  1. Comprar o btsnooz.py.

  2. Extraia a versão de texto do relatório de bug.

  3. Execute btsnooz.py na versão de texto do relatório de bug:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Depuração com registros

No Android 4.4 e versões mais recentes, é possível coletar manualmente registros do BTSnoop, que são semelhantes ao formato snoop na RFC 1761. Esses registros capturam os pacotes da interface de controlador do host (HCI). Na 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 ativar o rastreamento do HCI Bluetooth fazendo o seguinte:

  1. Ative as Opções do desenvolvedor no dispositivo.

  2. No menu Opções do desenvolvedor, ative a opção Ativar registro de rastreamento HCI Bluetooth.

  3. Reinicie o Bluetooth para que o registro entre em vigor.