O Android 10 introduziu o Mainline (anteriormente chamado de componentes de sistema modulares neste site). 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 os parceiros do Google e do Android distribuam atualizações de maneira ampla, rápida e contínua para os dispositivos dos usuários finais, de maneira não invasiva.
Os dispositivos do usuário final podem receber atualizações do Mainline a partir do recurso de atualização do sistema Android Google Play (que é executado na infraestrutura da Google Play Store) ou por meio de um mecanismo over-the-air (OTA) fornecido pelo parceiro.
Arquitetura
Mainline converte componentes selecionados do sistema 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 aplicativos e serviços de nível superior.
Figura 1. Arquitetura principal
As atualizações do módulo não introduzem novas APIs. Eles usam apenas o SDK e as APIs do sistema garantidas pelo Compatibility Test Suite (CTS) , comunicam-se apenas entre si e usam apenas API C estável ou interfaces AIDL estáveis .
Atualizações do módulo
Alguns módulos Mainline usam o formato contêiner APEX (introduzido no Android 10) e alguns usam o formato APK.
Os módulos Mainline atualizados podem ser empacotados juntos e enviados aos dispositivos do usuário final, seja pelo Google, usando o recurso de atualização do sistema Google Play, ou pelo parceiro Android, usando um mecanismo OTA fornecido pelo parceiro. O pacote do módulo é instalado e revertido atomicamente; 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 | Lançamento introduzido |
---|---|---|---|
Serviços de anúncios | Múltiplo | Múltiplo | Andróide 13 |
adbd | com.android.adbd | ÁPICE | Android 11 |
Saúde do Android |
| ÁPICE | Andróide 14 |
AppSearch | com.android.appsearch | ÁPICE | Andróide 13 |
ARTE | com.android.art | ÁPICE | Andróide 12 |
Bluetooth |
| ÁPICE | Andróide 13 |
CellBroadcast | com.android.cellbroadcast | ÁPICE | Android 11 |
Infraestrutura de configuração | com.android.configinfrastructure | ÁPICE | Andróide 14 |
Conscriptografar | com.android.conscrypt | ÁPICE | Android 10 |
Agendamento de dispositivos | com.android.scheduling | ÁPICE | Andróide 12 |
Resolvedor DNS | com.android.resolv | ÁPICE | Android 10 |
DocumentosUI | com.android.documentsui | APK | Android 10 |
ExtServiços | com.android.ext.services | APK (Android 10) APEX (Android 11) | Android 10 |
Biblioteca IPsec/IKEv2 | com.android.ipsec | ÁPICE | Android 11 |
meios de comunicação | Mídia: com.android.media Codecs de mídia: com.android.media.swcodec | ÁPICE | Android 10 (extratores, API MediaSession) Android 11 (API MediaParser) |
Provedor de mídia | com.android.mediaprovider | ÁPICE | Android 11 |
MóduloMetadados | com.android.modulemetadata | APK | Android 10 |
Pilha de rede | Configuração de permissão de pilha de rede: com.android.networkstack.permissionconfig Login do portal cativo: com.android.captiveportallogin Componentes de rede: com.android.networkstack | APK | Android 10 |
Tempo de execução da NNAPI | com.android.neuralnetworks | APK | Android 11 |
Tempo de execução OnDevicePersonalization | Múltiplo | Múltiplo | Andróide 13 |
Controlador de permissão | com.android.permissioncontroller | APK | Android 10 |
Provisionamento remoto de chaves | com.android.rkpd | ÁPICE | Andróide 14 |
Extensões SDK | com.android.sdkext | ÁPICE | Android 11 |
Estatísticas | com.android.os.statsd | ÁPICE | Android 11 |
Amarração | com.android.tethering | ÁPICE | Android 11 |
Dados de fuso horário | com.android.tzdata | ÁPICE | Android 10 |
UWB | com.android.uwb | ÁPICE | Andróide 13 |
Wi-fi | com.android.wifi | ÁPICE | Android 11 |