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

Для проверки и отладки стека 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:

    adb shell start

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

Пакет настройки профиля

Группа Bluetooth SIG предоставляет Bluetooth PTS — инструмент тестирования совместимости протоколов и профилей. Подробнее см. на сайте Bluetooth Profile Tuning Suite .

тесты CTS

Набор тестов совместимости (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 .

Для извлечения журналов слежки из отчета об ошибке используйте скрипт 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 Snoop, выполнив следующие действия:

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

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

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