블루투스 스택을 확인하고 디버깅하려면 AOSP에서 제공하는 도구 및 블루투스 SIG(Special Interest Group)의 테스트를 사용하세요.
테스트 및 확인
블루투스 스택을 테스트할 수 있도록 AOSP는 단위 테스트, CTS 테스트, 블루투스 프로필 미세조정 모음용 도구를 제공합니다.
AOSP의 단위 테스트
AOSP에는 기본 블루투스 스택용 기능 및 단위 테스트가 포함되어 있습니다. 이러한 테스트는
/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
에서 확인할 수 있습니다.
Android 커뮤니케이션 테스트 모음
Android 커뮤니케이션 테스트 모음(ACTS)은 Wi-Fi, 블루투스 및 이동통신 서비스와 같은 연결 스택의 자동 테스트를 실행합니다.
테스트 도구는 adb 및 Python이 필요하며
tools/test/connectivity/acts
에서 찾을 수 있습니다.
블루투스 및 저전력 블루투스용 ACTS 테스트는 각각
tools/test/connectivity/acts_tests/tests/google/bt/
및
tools/test/connectivity/acts_tests/tests/google/ble/
에서 찾을 수 있습니다.
프로필 미세 조정 모음
블루투스 SIG는 프로토콜 및 프로필 상호 운용성 테스트 도구인 블루투스 프로필 미세 조정 모음(PTS)을 제공합니다. 자세한 내용은 블루투스 프로필 미세 조정 모음 사이트를 참고하세요.
AOSP는 블루투스 PTS를 보완하는 추가 도구를 제공합니다.
이 도구는
tools/test/connectivity/acts_tests/tests/google/bt/pts/
에 있습니다.
CTS 테스트
호환성 테스트 모음(CTS)에는 블루투스 스택용 테스트가 포함되어 있습니다. 이 테스트는
cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth
에 있습니다.
디버깅 옵션
AOSP에서는 로그 및 버그 신고를 포함하여 기기의 블루투스 스택을 디버깅하는 다양한 방법을 제공합니다. 이러한 방법은 재현할 수 없는 문제나 플랫폼 및 기기의 여러 부분에 의해 영향받을 수 있는 오디오 문제에는 효과가 없을 수도 있습니다.
버그 신고를 사용하여 디버깅
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 이상에서는 RFC 1761의 스누프 형식과 유사한 BTSnoop 로그를 수동으로 수집할 수 있습니다. 이러한 로그는 호스트 컨트롤러 인터페이스(HCI) 패킷을 캡처합니다.
대부분의 Android 기기에서 로그는 data/misc/bluetooth/logs
에 저장됩니다.
개인 정보 보호를 위해 항상 사용되는 '메모리 내' BTSnoop는 개인 정보가 아닌 정보와 이벤트만 로깅합니다. 모든 데이터를 로깅하려면 사용자가 다음을 실행하여 블루투스 HCI 스누프를 사용 설정해야 합니다.
- 기기에서 개발자 옵션을 사용 설정합니다.
- 개발자 옵션 메뉴에서 블루투스 HCI 스누프 로그 사용 설정 전환 버튼을 활성화합니다.
- 블루투스를 다시 시작하여 로깅을 적용합니다.