Bluetooth

Bluetooth est un module Mainline en option à partir d'Android 13. Le module Bluetooth Mainline vise à fournir une expérience Bluetooth cohérente et de haute qualité à tous les utilisateurs d'Android.

Motivation

La principale motivation derrière le module Bluetooth est de fournir une expérience de haute qualité aux partenaires, aux utilisateurs et aux développeurs d'applications. Nous y parviendrons de quelques manières clés :

  1. Expédiez les mises à jour plus rapidement et plus fréquemment avec de nouvelles fonctionnalités, des correctifs de bogues et d'interopérabilité et des correctifs de sécurité.
  2. Réduire le travail répétitif pour les partenaires
    1. Réduction des frais généraux liés au rebasage de la base de code chaque année.
    2. Réduction des frais généraux liés au déploiement des OTA sur les appareils hérités.
  3. Réduire la fragmentation et créer une expérience cohérente pour les développeurs d'applications et les utilisateurs
  4. Améliorez la sécurité globale au sein de l'écosystème Android. Une grande partie des vulnérabilités de sécurité d'Android impliquent Bluetooth.

Format de paquet

Le package est un APEX contenant l'APK Bluetooth (actuellement défini dans packages/modules/Bluetooth/android/app ), nos bibliothèques natives ( libbluetooth.so et libbluetooth_jni.so ), nos API (sous packages/modules/Bluetooth/framework/java/android/bluetooth ) et nos interfaces HIDL.

Limite du module

Architecture principale du module Bluetooth

Figure 1. Limite du module Bluetooth

Nous migrons tous nos dépôts existants en un seul sous system/bt . La figure 1 représente les répertoires actuels qui composeront notre module.

Dépendances

Le module Bluetooth dépend des éléments suivants :

  • Utilisations entrantes et sortantes de l'API @hide qui seront nettoyées
  • Bibliothèques requises pour l'APK Bluetooth, libbluetooth.so et libbluetooth_jni.so