블루투스

블루투스 모듈은 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 테더링