Для проверки и отладки стека Bluetooth используйте инструменты, предоставленные в AOSP, и тесты Bluetooth Special Interest Group (SIG).
Тест и проверка
Для тестирования стека Bluetooth AOSP предоставляет набор модульных тестов, тестов CTS и инструментов для набора настроек профилей Bluetooth.
Модульные тесты в AOSP
AOSP включает функциональные и модульные тесты для стека Bluetooth по умолчанию. Эти тесты находятся в /packages/modules/Bluetooth/system/test/
. Для запуска тестов AOSP выполните следующие действия:
- Остановите среду выполнения Android:
adb shell stop
- Из тестового каталога запустите исполняемый файл оболочки и включите параметры, если вы хотите запустить определенный тест или набор тестов:
./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
- После завершения тестов снова включите среду выполнения 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
.
- Получите
btsnooz.py
. - Извлеките текстовую версию отчета об ошибке.
- Запустите
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, выполнив следующие действия:
- Включите параметры разработчика на устройстве.
- В меню «Параметры разработчика» активируйте переключатель «Включить журнал отслеживания Bluetooth HCI» .
- Перезапустите Bluetooth, чтобы изменения вступили в силу.