2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
블루투스
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
블루투스 모듈은 Android 13에서 도입된 선택적 Mainline 모듈입니다.
Android 16 이상에서 모듈은 업데이트 가능하며 완전히 인증된 듀얼 모드 블루투스 호스트 스택을 포함하므로 Android 기기가 기존 블루투스 기능과 저전력 블루투스 (BLE) 기능을 모두 지원할 수 있습니다.
블루투스 모듈의 주된 동기는 다음과 같은 방법으로 기기 제조업체와 사용자, 앱 개발자에게 고품질 블루투스 환경을 제공하는 것입니다.
Android OS 출시 주기와 상관없이 새로운 기능과 버그 수정, 상호 운용성 개선사항, 보안 패치를 통해 더 빠른 업데이트를 정기적으로 신속하게 제공합니다.
단편화 감소 및 전체 Android 생태계의 일관된 환경 만들기
Android 검증 블루투스 Mainline 모듈을 제공하고 빈번한 리베이스를 방지함으로써 파트너 개발을 간소화하여 개발 및 테스트 오버헤드를 줄입니다.
블루투스 모듈은 APEX 형식을 사용합니다. com.google.android.bt
패키지에는 packages/modules/Bluetooth/android/app
에 정의된 블루투스 APK, 내장 라이브러리 libbluetooth_jni.so
, packages/modules/Bluetooth/framework/java/android/bluetooth
아래의 API, HIDL 인터페이스가 포함됩니다.
모듈 경계
다음 다이어그램은 블루투스 모듈 경계를 보여줍니다.
그림 1. 블루투스 모듈 경계
종속 항목
블루투스 모듈에는 다음과 같은 종속 항목이 있습니다.
- 수신 및 발신
@hide
API 사용
- 블루투스 APK (
libbluetooth.so
)에 필요한 라이브러리
- 블루투스 칩셋 제공업체의 HAL 구현
- 오디오 스트리밍을 위한 Android 오디오 프레임워크
- 전화 통화를 위한 Android 전화 통신
- 블루투스 개인 영역 네트워크 (PAN)를 위한 Android 테더링
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(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-07-27(UTC)"],[],[],null,["# Bluetooth\n\nThe Bluetooth module is an optional Mainline module introduced in Android 13.\nIn Android 16 and higher, the module is updatable and contains a fully\ncertified dual-mode Bluetooth host stack, enabling Android devices to support\nboth classic Bluetooth and Bluetooth Low Energy (BLE) functionalities.\n\nThe primary motivation for the Bluetooth module is to provide a higher-quality\nBluetooth experience to device manufacturers, users, and app developers by:\n\n- **Delivering faster updates** with new features, bug fixes, interoperability\n enhancements, and security patches quickly and regularly, independently of\n the Android OS release cycle.\n\n- **Reducing fragmentation** and creating a consistent experience for the\n entire Android ecosystem.\n\n- **Streamlining partner development** by delivering Android-validated\n Bluetooth Mainline modules and avoiding frequent rebasing, thus reducing\n development and testing overhead.\n\nPackage format\n--------------\n\nThe Bluetooth module uses the [APEX](/docs/core/ota/apex) format. The `com.google.android.bt`\npackage contains the Bluetooth APK defined in\n`packages/modules/Bluetooth/android/app`, the built-in library\n`libbluetooth_jni.so`, the APIs under\n`packages/modules/Bluetooth/framework/java/android/bluetooth`, and the HIDL\ninterfaces.\n\nModule boundary\n---------------\n\nThe following diagram shows the Bluetooth module boundary:\n\n**Figure 1**. Bluetooth module boundary.\n\nDependencies\n------------\n\nThe Bluetooth module has dependencies on the following:\n\n- Incoming and outgoing `@hide` API usages\n- Library required for the Bluetooth APK (`libbluetooth.so`).\n- HAL implementation from the Bluetooth chipset provider\n- Android Audio Framework for audio streaming\n- Android telephony for phone calls\n- Android tethering for Bluetooth Personal Area Network (PAN)"]]