Bluetooth

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 para 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 parceiros
    1. Redução da sobrecarga de rebase da base de código todos os anos.
    2. Redução da sobrecarga de implantação de OTAs em 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 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 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 irão compor nosso módulo.

Dependências

O módulo Bluetooth depende do seguinte:

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