블루투스

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

블루투스는 Android 13부터 제공되는 메인라인 모듈(선택사항)입니다. 블루투스 메인라인 모듈은 모든 Android 사용자에게 고품질의 일관된 블루투스 환경을 제공하는 것을 목표로 합니다.

동기

블루투스 모듈의 주된 동기는 파트너, 사용자, 앱 개발자에게 고품질 환경을 제공하는 것입니다. Google은 이를 위해 다음과 같은 몇 가지 주요 방법을 사용했습니다.

  1. 새로운 기능, 버그, 상호 운용성 수정사항 및 보안 관련 수정사항이 포함된 업데이트를 더 빨리, 더 자주 출시합니다.
  2. 파트너의 반복 작업을 줄입니다.
    1. 매년 코드베이스를 리베이스하는 오버헤드를 줄였습니다.
    2. 기존 기기에 OTA를 적용하는 오버헤드를 줄였습니다.
  3. 파편화를 줄이고 앱 개발자와 사용자에게 맞는 일관된 환경을 만듭니다.
  4. Android 생태계 내에서 글로벌 보안을 강화합니다. Android 보안 취약점은 대부분 블루투스와 관련이 있습니다.

패키지 형식

패키지는 블루투스 APK(현재 packages/modules/Bluetooth/android/app에 정의됨), 네이티브 라이브러리(libbluetooth.solibbluetooth_jni.so), API(packages/modules/Bluetooth/framework/java/android/bluetooth 아래 있음), HIDL 인터페이스를 포함하는 APEX입니다.

모듈 경계

메인라인 블루투스 모듈 아키텍처

그림 1. 블루투스 모듈 경계

기존의 모든 저장소를 system/bt 아래 단일 저장소로 이전하고 있습니다. 그림 1은 모듈을 구성할 현재 디렉터리를 보여줍니다.

종속 항목

블루투스 모듈에는 다음과 같은 종속 항목이 있습니다.

  • 수신 및 발신 @hide API 사용(삭제 예정)
  • 블루투스 APK, libbluetooth.so, libbluetooth_jni.so에 필요한 라이브러리