O Android 10 introduziu o Mainline (antes chamado de componentes modulares do sistema neste site). O 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 integrada 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 Android Google Play (que é executado na infraestrutura da Google Play Store) ou por um mecanismo over the air (OTA) fornecido pelo parceiro.
Arquitetura
O Mainline 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 implementações de fornecedores de nível inferior ou apps e serviços de nível superior.
 
Figura 1. Arquitetura 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 a API C estável ou interfaces AIDL estáveis.
Atualizações de módulos
Alguns módulos Mainline usam o formato de contêiner APEX (introduzido no Android 10), e outros usam o formato APK.
Os módulos principais atualizados podem ser agrupados e enviados para 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 de módulo instala e reverte atomicamente. Ou todos os módulos que precisam ser atualizados são atualizados, ou nenhum é.
Módulos disponíveis
| Nome do módulo | Nome do pacote | Tipo | Versão lançada | 
|---|---|---|---|
| AdServices | com.google.android.adservices | 
    APEX | Android 13 | 
| adbd | com.android.adbd | 
    APEX | Android 11 | 
| Android Health | com.google.android.healthfitness | 
    APEX | Android 14 | 
| AppSearch | com.android.appsearch | 
    APEX | Android 13 | 
| ART | com.android.art | 
    APEX | Android 12 | 
| Bluetooth | com.google.android.btservices | 
    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 | 
| Device Scheduling | com.android.scheduling | 
    APEX | Android 12 | 
| DNS Resolver | 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.mediaCodecs de mídia: com.android.media.swcodec | 
    APEX | Android 10 (extratores, API MediaSession)
     Android 11 (API MediaParser)  | 
  
| MediaProvider | com.android.mediaprovider | 
    APEX | Android 11 | 
| ModuleMetadata | com.android.modulemetadata | 
    APK | Android 10 | 
| Pilha de rede | Configuração de permissão da pilha de rede: com.android.networkstack.permissionconfigLogin do portal cativo: com.android.captiveportalloginComponentes de rede: com.android.networkstack  | 
    APK | Android 10 | 
| Ambiente de execução da NNAPI | com.android.neuralnetworks | 
    APK | Android 11 | 
| Ambiente de execução OnDevicePersonalization | 
    Funcionalidade principal do pacote: com.google.android.ondevicepersonalization (APEX)Funcionalidade da API OnDevicePersonalization: com.google.android.ondevicepersonalization (APK)Funcionalidade das APIs FederatedCompute: com.google.android.federatedcompute (APK)
     | 
    APEX e APK | Android 13 | 
| PermissionController | com.android.permissioncontroller | 
    APK | Android 10 | 
| Provisionamento remoto de chaves | 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 | 
| Time Zone Data | com.android.tzdata | 
    APEX | Android 10 | 
| UWB | com.android.uwb | 
    APEX | Android 13 | 
| Wi-Fi | com.android.wifi | 
    APEX | Android 11 |