Cómo verificar y depurar

Para verificar y depurar la pila de Bluetooth, usa las herramientas proporcionadas 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 el conjunto de herramientas de ajuste de perfiles de Bluetooth.

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, luego, incluye opciones si deseas ejecutar una prueba o un paquete de pruebas específicos:
    ./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.

Suite de ajuste de perfiles

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

Pruebas de CTS

El conjunto de pruebas de compatibilidad (CTS) incluye pruebas para la pila de Bluetooth. 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 registros e 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.

Cómo depurar 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 espionaje 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

Cómo depurar con registros

En Android 4.4 y versiones posteriores, puedes recopilar registros de BTSnoop de forma manual, que se asemejan al formato de espionaje 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 siempre activo y "en la memoria" solo registra información y eventos no personales. Para registrar todos los datos, el usuario debe habilitar la búsqueda de HCI de Bluetooth de la siguiente manera:

  1. Habilita las Opciones para desarrolladores en el dispositivo.
  2. En el menú Opciones para desarrolladores, activa el botón de activación Habilitar registro de Bluetooth HCI.
  3. Reinicia el Bluetooth para que se aplique el registro.