Bluetooth

Bluetooth es un módulo de línea principal opcional que comienza con Android 13. El módulo de línea principal de Bluetooth tiene como objetivo proporcionar una experiencia Bluetooth uniforme 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 los socios, usuarios y desarrolladores de aplicaciones. Lo lograremos de varias 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. Reduzca el trabajo repetitivo de los socios
    1. Reducción de los gastos generales de rebase de la base de código 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. Mejore la seguridad global dentro del ecosistema de Android. Una gran parte de las vulnerabilidades de seguridad de Android involucran a Bluetooth.

formato de paquete

El paquete es un APEX que contiene el APK de Bluetooth (definido actualmente 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 comprenderán nuestro módulo.

dependencias

El módulo Bluetooth tiene dependencias en lo siguiente:

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