Для проверки и отладки стека 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-тесты
Пакет тестов совместимости (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, которые напоминают формат отслеживания в RFC 1761. Эти журналы фиксируют пакеты интерфейса хост-контроллера (HCI). Для большинства устройств Android журналы хранятся в data/misc/bluetooth/logs
.
По соображениям конфиденциальности постоянно включенный BTSnoop «в памяти» регистрирует только неличную информацию и события. Чтобы регистрировать все данные, пользователю необходимо включить отслеживание Bluetooth HCI, выполнив следующие действия:
- Включите параметры разработчика на устройстве.
- В меню параметров разработчика активируйте переключатель «Включить журнал отслеживания Bluetooth HCI» .
- Перезапустите Bluetooth, чтобы регистрация вступила в силу.