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

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

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

Для тестирования стека Bluetooth AOSP предоставляет набор модульных тестов, тестов CTS и инструментов для набора настроек профилей Bluetooth.

Модульные тесты в 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 Profile Tuning Suite (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 .

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

  1. Получите btsnooz.py .
  2. Извлеките текстовую версию отчета об ошибке.
  3. Запустите btsnooz.py для текстовой версии отчета об ошибке:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

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

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

В целях конфиденциальности постоянно включенный BTSnoop "in-memory" регистрирует только неперсональную информацию и события. Чтобы регистрировать все данные, пользователю необходимо включить Bluetooth HCI snoop, выполнив следующие действия:

  1. Включите параметры разработчика на устройстве.
  2. В меню «Параметры разработчика» активируйте переключатель «Включить журнал отслеживания Bluetooth HCI» .
  3. Перезапустите Bluetooth, чтобы изменения вступили в силу.