O Android 10 introduziu o Mainline (anteriormente chamado de componentes modulares do sistema neste site). A Mainline modulariza alguns componentes do sistema Android e permite que eles sejam atualizados fora do ciclo normal de lançamento do Android. Isso permite que o Google e os parceiros do Android distribuam atualizações de forma ampla, rápida e transparente para dispositivos de usuários finais de maneira não intrusiva.
Os dispositivos do usuário final podem receber atualizações do Mainline pelo recurso de atualização do sistema do Android Google Play (que é executado na infraestrutura da Google Play Store) ou por um mecanismo over-the-air (OTA) fornecido pelo parceiro.
Arquitetura
A linha principal converte os componentes do sistema selecionados em módulos. A arquitetura modular mostrada na Figura 1 permite que os componentes do sistema sejam atualizados com correções de bugs críticos e outras melhorias conforme necessário, sem afetar as implementações de fornecedores de nível inferior ou apps e serviços de nível superior.
Figura 1. Arquitetura de linha principal
As atualizações de módulo não introduzem novas APIs. Eles usam apenas o SDK e as APIs do sistema garantidas pelo Compatibility Test Suite (CTS), se comunicam apenas entre si e usam apenas APIs C estáveis ou interfaces estáveis de AIDL.
Atualizações de módulos
Alguns módulos principais usam o formato de contêiner APEX (introduzido no Android 10) e outros usam o formato APK.
Os módulos principais atualizados podem ser empacotados e enviados aos dispositivos do usuário final pelo Google, usando o recurso de atualização do sistema do Google Play, ou pelo parceiro do Android, usando um mecanismo OTA fornecido pelo parceiro. O pacote do módulo é instalado e revertido de forma atômica. Todos os módulos que precisam ser atualizados são atualizados ou nenhum é atualizado.
Módulos disponíveis
Nome do módulo | Nome do pacote | Tipo | Versão lançada |
---|---|---|---|
AdServices | Várias | Várias | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Android Health |
|
APEX | Android 14 |
AppSearch (link em inglês) | com.android.appsearch |
APEX | Android 13 |
ART | com.android.art |
APEX | Android 12 |
Bluetooth |
|
APEX | Android 13 |
CellBroadcast | com.android.cellbroadcast |
APEX | Android 11 |
Infraestrutura de configuração | com.android.configinfrastructure |
APEX | Android 14 |
Conscrypt | com.android.conscrypt |
APEX | Android 10 |
Programação de dispositivos | com.android.scheduling |
APEX | Android 12 |
Resolvedor DNS | com.android.resolv |
APEX | Android 10 |
DocumentsUI | com.android.documentsui |
APK | Android 10 |
ExtServices | com.android.ext.services |
APK (Android 10)
APEX (Android 11) |
Android 10 |
Biblioteca IPsec/IKEv2 | com.android.ipsec |
APEX | Android 11 |
Mídia | Mídia: com.android.media Codecs de mídia: com.android.media.swcodec |
APEX | Android 10 (extratores, API MediaSession)
Android 11 (API MediaParser) |
MediaProvider (link em inglês) | com.android.mediaprovider |
APEX | Android 11 |
ModuleMetadata | com.android.modulemetadata |
APK | Android 10 |
Pilha de rede | Configuração de permissões da pilha de rede: com.android.networkstack.permissionconfig Login do portal de rede: com.android.captiveportallogin Componentes de rede: com.android.networkstack |
APK | Android 10 |
Ambiente de execução NNAPI | com.android.neuralnetworks |
APK | Android 11 |
Ambiente de execução OnDevicePersonalization | Várias | Várias | Android 13 |
PermissionController | com.android.permissioncontroller |
APK | Android 10 |
Provisão de chave remota | com.android.rkpd |
APEX | Android 14 |
Extensões do SDK | com.android.sdkext |
APEX | Android 11 |
Statsd | com.android.os.statsd |
APEX | Android 11 |
Tethering | com.android.tethering |
APEX | Android 11 |
Dados de fuso horário | com.android.tzdata |
APEX | Android 10 |
UWB | com.android.uwb |
APEX | Android 13 |
Wi-Fi | com.android.wifi |
APEX | Android 11 |