2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
확인 및 디버그
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
블루투스 스택을 확인하고 디버깅하려면 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
에서 확인할 수 있습니다.
프로필 미세 조정 모음
블루투스 SIG는 프로토콜 및 프로필 상호 운용성 테스트 도구인 블루투스 프로필 미세 조정 모음(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 스누프 로그 사용 설정 전환 버튼을 활성화합니다.
- 블루투스를 다시 시작하여 로깅을 적용합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-06-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-06-26(UTC)"],[],[],null,["# Verify and debug\n\nTo verify and debug the Bluetooth stack, use the tools provided in\nAOSP and the Bluetooth Special Interest Group's (SIG) tests.\n\nTest and verify\n---------------\n\nTo test the Bluetooth stack, AOSP provides a mix of unit tests,\nCTS tests, and tools for the Bluetooth Profile Tuning Suite.\n\n### Unit tests in AOSP\n\nAOSP includes functional and unit tests for the default\nBluetooth stack. These tests are located in [/packages/modules/Bluetooth/system/test/](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/test/).\nTo run the AOSP tests, do the following:\n\n1. Stop the Android runtime: \n\n ```\n adb shell stop\n ```\n2. From the test directory, run the shell executable file and include options if you want to run a specific test or test suite: \n\n ```\n ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS\n ```\n3. When the tests finish, re-enable the Android runtime: \n\n ```\n adb shell start\n ```\n\nThe list of test names can be found in [/packages/modules/Bluetooth/system/test/README.md](https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/Bluetooth/system/test/README.md).\n\n### Profile Tuning Suite\n\nThe Bluetooth SIG provides the Bluetooth Profile Tuning Suite (PTS),\na testing tool for protocol and profile interoperability.\nFor more information, see the [Bluetooth Profile Tuning Suite](https://www.bluetooth.com/develop-with-bluetooth/test-tools/profile-tuning-suite) site.\n\n### CTS tests\n\n\nThe [Compatibility Test Suite](/docs/compatibility/cts) (CTS)\nincludes tests for the Bluetooth stack. These are located in [cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth](https://cs.android.com/android/platform/superproject/+/android-latest-release:cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/).\n\nDebugging options\n-----------------\n\nAOSP provides different methods of debugging a device's\nBluetooth stack, including logs and bug reports. These methods may\nnot work for issues that cannot be reproduced or for audio issues,\nwhich can be affected by multiple parts of the platform and device.\n\n### Debugging with bug reports\n\nTo check the Bluetooth service status using `dumpsys`,\nuse the following command: \n\n```\nadb shell dumpsys bluetooth_manager\n```\n\nBy default, all log messages are trace level 2.\nTo find out more about the logging levels and change the logging levels\nfor different profiles, look in [system/bt/conf/bt_stack.conf](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/conf/bt_stack.conf).\n\nTo extract snoop logs from the bug report, use the\n`btsnooz` script.\n\n1. Get [btsnooz.py](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Bluetooth/system/tools/scripts/btsnooz.py).\n2. Extract the text version of the bug report.\n3. Run `btsnooz.py` on the text version of the bug report: \n\n ```\n btsnooz.py BUG_REPORT.txt \u003e BTSNOOP.log\n ```\n\n### Debugging with logs\n\nIn Android 4.4 and later, you can manually collect BTSnoop logs,\nwhich resemble the snoop format in RFC 1761. These logs capture the\nHost Controller Interface (HCI) packets.\nFor most Android devices, the logs are stored in\n`data/misc/bluetooth/logs`.\n\nFor privacy reasons, always-on, \"in-memory\" BTSnoop only logs\nnon-personal information and events. To log all data, the user needs\nto enable Bluetooth HCI snoop by doing the following:\n\n1. Enable **Developer options** on the device.\n2. In the **Developer options** menu, activate the **Enable Bluetooth HCI snoop log** toggle.\n3. Restart Bluetooth for logging to take effect."]]