Bluetooth

Bluetooth es un módulo Mainline opcional a partir de Android 13. El módulo Bluetooth Mainline tiene como objetivo proporcionar una experiencia Bluetooth consistente y de alta calidad a todos los usuarios de Android.

Motivación

La motivación principal detrás del módulo Bluetooth es brindar una experiencia de alta calidad a socios, usuarios y desarrolladores de aplicaciones. Lo lograremos de algunas maneras clave:

  1. Envíe actualizaciones más rápido y con mayor frecuencia con nuevas funciones, correcciones de errores e interoperabilidad y correcciones de seguridad.
  2. Reducir el trabajo repetitivo para los socios
    1. Reducción de los gastos generales de rebase del código base cada año.
    2. Reducción de los gastos generales de implementación de OTA en dispositivos heredados.
  3. Reduzca la fragmentación y cree una experiencia coherente para los desarrolladores y usuarios de aplicaciones.
  4. Mejorar la seguridad global dentro del ecosistema Android. Una gran parte de las vulnerabilidades de seguridad de Android involucran Bluetooth.

Formato de paquete

El paquete es un APEX que contiene el APK de Bluetooth (actualmente definido en packages/modules/Bluetooth/android/app ), nuestras bibliotecas nativas ( libbluetooth.so y libbluetooth_jni.so ), nuestras API (en packages/modules/Bluetooth/framework/java/android/bluetooth ) y nuestras interfaces HIDL.

Límite del módulo

Arquitectura del módulo Bluetooth principal

Figura 1. Límite del módulo Bluetooth

Estamos migrando todos nuestros repositorios existentes a uno solo en system/bt . La Figura 1 representa los directorios actuales que conformarán nuestro módulo.

Dependencias

El módulo Bluetooth depende de lo siguiente:

  • Usos entrantes y salientes de la API @hide que se limpiarán
  • Bibliotecas necesarias para Bluetooth APK, libbluetooth.so y libbluetooth_jni.so