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

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

Проверьте и подтвердите.

Для тестирования стека Bluetooth компания AOSP предоставляет набор модульных тестов, тестов CTS и инструментов для пакета настройки профилей Bluetooth (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

Набор тестов на совместимость (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, которые по формату напоминают snooping из RFC 1761. Эти логи содержат пакеты интерфейса контроллера хоста (HCI). На большинстве устройств Android логи хранятся в data/misc/bluetooth/logs .

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

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

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

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