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:
- Envie atualizações com mais rapidez e frequência com novos recursos, correções de bugs e interoperabilidade e correções de segurança.
- Reduza o trabalho repetitivo para parceiros
- Redução da sobrecarga de rebase da base de código todos os anos.
- Redução da sobrecarga de implantação de OTAs em dispositivos legados.
- Reduza a fragmentação e crie uma experiência consistente para desenvolvedores e usuários de aplicativos
- 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
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
elibbluetooth_jni.so