Bluetooth

Bluetooth es un módulo de línea principal a partir de Android 13. El objetivo del módulo de línea principal de Bluetooth es proporcionar una experiencia de Bluetooth coherente y de alta calidad a todos los usuarios de Android.

Motivación

La motivación principal detrás del módulo de Bluetooth es brindar una experiencia de alta calidad a los socios, usuarios y desarrolladores de apps. Lograremos esto de las siguientes maneras clave:

  1. Envía actualizaciones más rápido y con mayor frecuencia con nuevas funciones, correcciones de errores y de interoperabilidad, y correcciones de seguridad.
  2. Reduce el trabajo repetitivo de los socios
    1. Se redujo la sobrecarga de la actualización de la base de código cada año.
    2. Se redujo la sobrecarga de lanzar actualizaciones OTA a dispositivos heredados.
  3. Reducir la fragmentación y crear una experiencia coherente para los desarrolladores y usuarios de apps
  4. Mejorar la seguridad global dentro del ecosistema de Android Una gran parte de las vulnerabilidades de seguridad de Android involucran Bluetooth.

Formato del 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 APIs (en packages/modules/Bluetooth/framework/java/android/bluetooth) y nuestras interfaces HIDL.

Límite del módulo

Arquitectura del módulo de Bluetooth de Mainline

Figura 1: Límite del módulo Bluetooth

Estamos migrando todos nuestros repositorios existentes a uno solo en system/bt. En la Figura 1, se representan los directorios actuales que conformarán nuestro módulo.

Dependencias

El módulo Bluetooth tiene dependencias en lo siguiente:

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