Проверка и отладка

Чтобы проверить и отладить стек Bluetooth, используйте инструменты, доступные в AOSP, и тесты Bluetooth Special Interest Group (SIG).

Тестирование и проверка

Чтобы протестировать стек Bluetooth, AOSP предоставляет набор модульных тестов, тестов CTS и инструментов для Bluetooth Profile Tuning Suite (PTS).

Модульное тестирование в AOSP

AOSP включает функциональные и модульные тесты для стека Bluetooth по умолчанию. Эти тесты находятся в /packages/modules/Bluetooth/system/test/. Чтобы запустить тесты AOSP, выполните следующие действия:

  1. Остановите среду выполнения Android:

    adb shell stop
  2. Запустите исполняемый файл оболочки из каталога тестов и укажите параметры, если вы хотите запустить определенный тест или набор тестов:

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. После завершения тестирования снова включите Android Runtime:

    adb shell start

Список названий тестов можно найти в файле /packages/modules/Bluetooth/system/test/README.md.

Набор инструментов для настройки профиля

Bluetooth SIG предоставляет Bluetooth PTS – инструмент тестирования для обеспечения совместимости протоколов и профилей. Дополнительную информацию можно найти на сайте Bluetooth Profile Tuning Suite.

Тесты CTS

Compatibility Test Suite (CTS) включает тесты для стека Bluetooth. Они находятся в cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

Параметры отладки

В AOSP предусмотрены разные способы отладки стека Bluetooth устройства, в том числе журналы и отчеты об ошибках. Эти методы могут не работать для проблем, которые невозможно воспроизвести, или для проблем со звуком, на которые могут влиять несколько частей платформы и устройства.

Отладка с помощью отчетов об ошибках

Чтобы проверить статус службы Bluetooth с помощью dumpsys, используйте следующую команду:

adb shell dumpsys bluetooth_manager

По умолчанию все сообщения в журнале имеют уровень трассировки 2. Чтобы узнать больше об уровнях ведения журнала и изменить их для разных профилей, ознакомьтесь со статьей system/bt/conf/bt_stack.conf.

Чтобы извлечь журналы Snoop из отчета об ошибке, используйте скрипт btsnooz.

  1. Получите btsnooz.py.

  2. Извлеките текстовую версию отчета об ошибке.

  3. Выполните команду btsnooz.py для текстовой версии отчета об ошибке:

    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Отладка с помощью журналов

В Android 4.4 и более поздних версий можно вручную собирать журналы BTSnoop, которые похожи на формат snoop в RFC 1761. В этих журналах хранятся пакеты интерфейса контроллера хоста (HCI). На большинстве устройств Android журналы хранятся в папке data/misc/bluetooth/logs.

Из соображений конфиденциальности постоянно работающий BTSnoop в оперативной памяти регистрирует только неличную информацию и события. Чтобы регистрировать все данные, пользователю необходимо включить отслеживание Bluetooth HCI. Для этого нужно сделать следующее:

  1. Включите параметры для разработчиков на устройстве.

  2. В меню Для разработчиков включите параметр Включить журнал отслеживания Bluetooth HCI.

  3. Чтобы изменения вступили в силу, перезапустите Bluetooth.