블루투스는 Android 13부터 제공되는 메인라인 모듈(선택사항)입니다. 블루투스 메인라인 모듈은 모든 Android 사용자에게 고품질의 일관된 블루투스 환경을 제공하는 것을 목표로 합니다.
동기
블루투스 모듈의 주된 동기는 파트너, 사용자, 앱 개발자에게 고품질 환경을 제공하는 것입니다. Google은 이를 위해 다음과 같은 몇 가지 주요 방법을 사용했습니다.
- 새로운 기능, 버그 및 상호 운용성 수정사항, 보안 관련 수정사항이 포함된 업데이트를 더 빨리, 더 자주 출시합니다.
- 파트너의 반복 작업을 줄입니다.
- 매년 코드베이스를 리베이스하는 오버헤드를 줄였습니다.
- 기존 기기에 OTA를 적용하는 오버헤드를 줄였습니다.
- 단편화를 줄이고 앱 개발자와 사용자를 위한 일관된 환경을 만듭니다.
- Android 생태계 내에서 글로벌 보안을 강화합니다. Android 보안 취약점은 대부분 블루투스와 관련이 있습니다.
패키지 형식
패키지는 블루투스 APK(현재 packages/modules/Bluetooth/android/app
에 정의됨), 네이티브 라이브러리(libbluetooth.so
및 libbluetooth_jni.so
), API(packages/modules/Bluetooth/framework/java/android/bluetooth
아래 있음), HIDL 인터페이스를 포함하는 APEX입니다.
모듈 경계
그림 1. 블루투스 모듈 경계
기존의 모든 저장소를 system/bt
아래 단일 저장소로 이전하고 있습니다.
그림 1은 모듈을 구성할 현재 디렉터리를 보여줍니다.
종속 항목
블루투스 모듈에는 다음과 같은 종속 항목이 있습니다.
- 수신 및 발신
@hide
API 사용(삭제 예정) - 블루투스 APK,
libbluetooth.so
,libbluetooth_jni.so
에 필요한 라이브러리