W Androidzie 10 wprowadzono Mainline (wcześniej na tej stronie nazywany modułowymi komponentami systemu). Mainline dzieli niektóre komponenty systemu Android na moduły i umożliwia ich aktualizowanie poza normalnym cyklem wydawania Androida. Umożliwia to Google i partnerom Androida rozpowszechnianie aktualizacji na urządzeniach użytkowników w sposób szybki, bezproblemowy i nieinwazyjny.
Urządzenia użytkowników mogą otrzymywać aktualizacje Mainline za pomocą funkcji aktualizacji systemu Android w Google Play (która działa w infrastrukturze Sklepu Google Play) lub za pomocą mechanizmu OTA dostarczonego przez partnera.
Architektura
Mainline przekształca wybrane komponenty systemu w moduły. Modułowa architektura przedstawiona na rysunku 1 umożliwia aktualizowanie komponentów systemu o krytyczne poprawki błędów i inne ulepszenia w razie potrzeby bez wpływu na implementacje dostawców niższego poziomu ani aplikacje i usługi wyższego poziomu.
 
 
Rysunek 1. Architektura Mainline
Aktualizacje modułów nie wprowadzają nowych interfejsów API. Korzystają one tylko z pakietu SDK i interfejsów API systemu, które są gwarantowane przez Compatibility Test Suite (CTS), komunikują się tylko ze sobą i używają tylko stabilnego interfejsu C API lub stabilnych interfejsów AIDL.
Aktualizacje modułów
Niektóre moduły Mainline używają formatu kontenera APEX (wprowadzonego w Androidzie 10), a niektóre formatu APK.
Zaktualizowane moduły Mainline można spakować i przesłać na urządzenia użytkowników końcowych. Może to zrobić Google za pomocą funkcji aktualizacji systemu Google Play lub partner Androida za pomocą mechanizmu OTA dostarczonego przez partnera. Pakiet modułów jest instalowany i wycofywany w sposób niepodzielny. Albo wszystkie moduły, które wymagają aktualizacji, zostaną zaktualizowane, albo żaden z nich nie zostanie zaktualizowany.
Dostępne moduły
| Nazwa modułu | Nazwa pakietu | Typ | Wprowadzenie wersji | 
|---|---|---|---|
| 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 | 
| Konfigurowanie infrastruktury | com.android.configinfrastructure | APEX | Android 14 | 
| Conscrypt | com.android.conscrypt | APEX | Android 10 | 
| Harmonogram urządzeń | com.android.scheduling | APEX | Android 12 | 
| Resolver 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 | 
| IPsec/IKEv2 Biblioteka | com.android.ipsec | APEX | Android 11 | 
| Media | Multimedia: com.android.mediaKodeki multimediów: com.android.media.swcodec | APEX | Android 10 (ekstraktory, interfejs MediaSession API) Android 11 (interfejs MediaParser API) | 
| MediaProvider | com.android.mediaprovider | APEX | Android 11 | 
| ModuleMetadata | com.android.modulemetadata | APK | Android 10 | 
| Stos sieciowy | Konfiguracja uprawnień stosu sieciowego: com.android.networkstack.permissionconfigLogowanie w sieci Wi-Fi z wymaganiem logowania: com.android.captiveportalloginKomponenty sieciowe: com.android.networkstack | APK | Android 10 | 
| NNAPI Czas działania | com.android.neuralnetworks | APK | Android 11 | 
| Personalizacja na urządzeniu Czas działania | Główne funkcje pakietu: com.google.android.ondevicepersonalization(APEX)Funkcje interfejsu OnDevicePersonalization API: com.google.android.ondevicepersonalization(APK)Funkcje interfejsów FederatedCompute API: com.google.android.federatedcompute(APK) | APEX i APK | Android 13 | 
| PermissionController | com.android.permissioncontroller | APK | Android 10 | 
| Zdalne udostępnianie kluczy | com.android.rkpd | APEX | Android 14 | 
| Rozszerzenia pakietu SDK | com.android.sdkext | APEX | Android 11 | 
| Statsd | com.android.os.statsd | APEX | Android 11 | 
| Tethering | com.android.tethering | APEX | Android 11 | 
| Dane strefy czasowej | com.android.tzdata | APEX | Android 10 | 
| UWB | com.android.uwb | APEX | Android 13 | 
| Wi-Fi | com.android.wifi | APEX | Android 11 | 
