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

Для проверки и отладки стека 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 .

Пакет тестов Android-коммуникаций

Android Comms Test Suite (ACTS) выполняет автоматическое тестирование стеков подключений, таких как Wi-Fi, Bluetooth и услуги сотовой связи. Для инструмента тестирования требуются adb и python, его можно найти tools/test/connectivity/acts .

Тесты ACTS для Bluetooth и Bluetooth Low Energy находятся в tools/test/connectivity/acts_tests/tests/google/bt/ tools/test/connectivity/acts_tests/tests/google/ble/ соответственно.

Пакет настройки профиля

Bluetooth SIG предоставляет пакет Bluetooth Profile Tuning Suite (PTS), инструмент тестирования совместимости протоколов и профилей. Дополнительную информацию см. на сайте Bluetooth Profile Tuning Suite .

AOSP предоставляет дополнительные инструменты для дополнения Bluetooth PTS. Эти инструменты расположены в tools/test/connectivity/acts_tests/tests/google/bt/pts/ .

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 .

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

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

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

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

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