Bluetooth

O Bluetooth é um módulo Mainline opcional a partir do Android 13. O módulo Bluetooth Mainline visa fornecer uma experiência Bluetooth consistente e de alta qualidade a todos os usuários do Android.

Motivação

A principal motivação por trás do módulo Bluetooth é fornecer uma experiência de alta qualidade para parceiros, usuários e desenvolvedores de aplicativos. Conseguiremos isso de algumas maneiras principais:

  1. Envie atualizações com mais rapidez e frequência com novos recursos, correções de bugs e interoperabilidade e correções de segurança.
  2. Reduza o trabalho repetitivo para os parceiros
    1. Redução da sobrecarga de rebase da base de código a cada ano.
    2. Redução da sobrecarga de implantação de OTAs para dispositivos legados.
  3. Reduza a fragmentação e crie uma experiência consistente para desenvolvedores e usuários de aplicativos
  4. Melhore a segurança global no ecossistema Android. Uma grande parte das vulnerabilidades de segurança do Android envolve o Bluetooth.

Formato do pacote

O pacote é um APEX contendo o APK Bluetooth (atualmente definido em packages/modules/Bluetooth/android/app ), nossas bibliotecas nativas ( libbluetooth.so e libbluetooth_jni.so ), nossas APIs (em packages/modules/Bluetooth/framework/java/android/bluetooth ) e nossas interfaces HIDL.

limite do módulo

Arquitetura do módulo Bluetooth da linha principal

Figura 1. Limite do Módulo Bluetooth

Estamos migrando todos os nossos repositórios existentes para um único em system/bt . A Figura 1 representa os diretórios atuais que comporão nosso módulo.

Dependências

O módulo Bluetooth tem dependências do seguinte:

  • Usos de entrada e saída da API @hide que serão limpos
  • Bibliotecas necessárias para o APK do Bluetooth, libbluetooth.so e libbluetooth_jni.so