Verificar e depurar

Para verificar e depurar a pilha Bluetooth, use as ferramentas fornecidas no AOSP e nos 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 de CTS e ferramentas para o conjunto de ajustes de perfis Bluetooth.

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. Interrompa 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 pacote de testes específico:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Quando os testes terminarem, ative novamente o Android Runtime:
    adb shell start

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

Pacote de ajuste de perfis

A SIG do Bluetooth oferece o Bluetooth Profile Tuning Suite (PTS), uma ferramenta de teste para interoperabilidade entre protocolos e perfis. Para mais informações, consulte o site Pacote de ajuste de perfis Bluetooth.

Testes CTS

O conjunto de teste de compatibilidade (CTS) inclui testes da pilha Bluetooth. Eles ficam neste local: 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.

Como depurar 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 de nível de trace 2. Para saber mais sobre os níveis de geração de registros e alterá-los para diferentes perfis, consulte system/bt/conf/bt_stack.conf.

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

  1. Baixe o btsnooz.py.
  2. Extraia a versão em texto do relatório do bug.
  3. Execute btsnooz.py na versão em texto do relatório do bug:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Como depurar com registros

No Android 4.4 e versões mais recentes, é possível coletar manualmente os registros do BTSnoop, que se assemelham ao formato de espionagem no 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 ativado e "na memória" registra apenas informações e eventos não pessoais. Para registrar todos os dados, o usuário precisa ativar a verificação Bluetooth HCI 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 Bluetooth HCI.
  3. Reinicie o Bluetooth para que o registro entre em vigor.