Bluetooth

O Bluetooth é um módulo Mainline opcional do Android 13. O módulo Mainline do Bluetooth 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 apps. Vamos fazer isso de algumas maneiras:

  1. Envie atualizações mais rápidas e com mais frequência com novos recursos, correções de bugs e de interoperabilidade e correções de segurança.
  2. Reduzir o trabalho repetitivo para os parceiros
    1. Redução da sobrecarga de rebasamento da base de código a cada ano.
    2. Redução da sobrecarga de implantação de OTAs em dispositivos legados.
  3. Reduzir a fragmentação e criar uma experiência consistente para desenvolvedores de apps e usuários
  4. Melhorar 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 que contém 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 do Mainline Bluetooth

Figura 1. Limite do módulo Bluetooth

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

Dependências

O módulo Bluetooth tem dependências dos seguintes elementos:

  • 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