Cómo verificar y depurar

Para verificar y depurar la pila de Bluetooth, usa las herramientas que se proporcionan en AOSP y las pruebas del Grupo de Interés Especial (SIG) de Bluetooth.

Prueba y verifica

Para probar la pila de Bluetooth, AOSP proporciona una combinación de pruebas de unidades, pruebas de CTS y herramientas para Bluetooth Profile Tuning Suite (PTS).

Pruebas de unidades en AOSP

AOSP incluye pruebas funcionales y de unidades para la pila de Bluetooth predeterminada. Estas pruebas se encuentran en /packages/modules/Bluetooth/system/test/. Para ejecutar las pruebas de AOSP, haz lo siguiente:

  1. Detén el entorno de ejecución de Android:

    adb shell stop
  2. Desde el directorio de prueba, ejecuta el archivo ejecutable de shell y, si quieres ejecutar una prueba o un paquete de pruebas específicos, incluye opciones:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Cuando finalicen las pruebas, vuelve a habilitar el entorno de ejecución de Android:

    adb shell start

La lista de nombres de pruebas se puede encontrar en /packages/modules/Bluetooth/system/test/README.md.

Profile Tuning Suite

El SIG de Bluetooth proporciona Bluetooth PTS, una herramienta de prueba para la interoperabilidad de protocolos y perfiles. Para obtener más información, consulta el sitio de Bluetooth Profile Tuning Suite.

Pruebas de CTS

El Conjunto de pruebas de compatibilidad (CTS) incluye pruebas para la pila de Bluetooth. Estas se encuentran en cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Opciones de depuración

AOSP proporciona diferentes métodos para depurar la pila de Bluetooth de un dispositivo, incluidos los registros y los informes de errores. Es posible que estos métodos no funcionen para problemas que no se pueden reproducir o para problemas de audio, que pueden verse afectados por varias partes de la plataforma y el dispositivo.

Depuración con informes de errores

Para verificar el estado del servicio de Bluetooth con dumpsys, usa el siguiente comando:

adb shell dumpsys bluetooth_manager

De forma predeterminada, todos los mensajes de registro son de nivel de seguimiento 2. Para obtener más información sobre los niveles de registro y cambiarlos para diferentes perfiles, consulta system/bt/conf/bt_stack.conf.

Para extraer registros de búsqueda del informe de errores, usa la secuencia de comandos btsnooz.

  1. Obtén btsnooz.py.

  2. Extrae la versión de texto del informe de errores.

  3. Ejecuta btsnooz.py en la versión de texto del informe de errores:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Depuración con registros

En Android 4.4 y versiones posteriores, puedes recopilar registros de BTSnoop de forma manual, que se asemejan al formato de búsqueda en RFC 1761. Estos registros capturan los paquetes de la interfaz de controlador de host (HCI). En la mayoría de los dispositivos Android, los registros se almacenan en data/misc/bluetooth/logs.

Por motivos de privacidad, BTSnoop "en memoria" y siempre activo solo registra información y eventos no personales. Para registrar todos los datos, el usuario debe habilitar la búsqueda de HCI de Bluetooth haciendo lo siguiente:

  1. Habilita Opciones para desarrolladores en el dispositivo.

  2. En el menú Opciones para desarrolladores, activa el botón de activación Habilitar registro de búsqueda de HCI de Bluetooth.

  3. Reinicia Bluetooth para que el registro surta efecto.