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