Bluetooth es un módulo de línea principal opcional a partir de Android 13. El módulo de línea principal de Bluetooth tiene el objetivo de proporcionar una experiencia de Bluetooth coherente y de alta calidad a todos los usuarios de Android.
Motivación
El objetivo principal del módulo Bluetooth es proporcionar una experiencia de alta calidad a los socios, usuarios y desarrolladores de apps. Lograremos esto de varias maneras clave:
- Envía actualizaciones más rápido y con más frecuencia con funciones nuevas, correcciones de errores, correcciones de interoperabilidad y correcciones de seguridad.
- Reduce el trabajo repetitivo de los socios
- Se redujo la sobrecarga de la actualización de la base de código cada año.
- Se redujo la sobrecarga de lanzar actualizaciones OTA a dispositivos heredados.
- Reducir la fragmentación y crear una experiencia coherente para los desarrolladores y usuarios de apps
- 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
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
ylibbluetooth_jni.so