Mainline

Android 10 wprowadził Mainline (w tej witrynie nazywane wcześniej modułowymi komponentami systemu). Mainline umożliwia modułowe tworzenie niektórych komponentów systemu Android i ich aktualizowanie poza normalnym cyklem wydawniczym Androida. Dzięki temu Google i partnerzy Androida mogą rozpowszechniać aktualizacje szeroko, szybko i płynnie na urządzeniach użytkowników w nieinwazyjny sposób.

Urządzenia użytkowników mogą otrzymywać aktualizacje Mainline z funkcji aktualizacji systemu w Google Play na Androida (która działa w ramach infrastruktury Sklepu Google Play) lub za pomocą mechanizmu bezprzewodowego udostępnianego przez partnera.

Architektura

Mainline konwertuje wybrane komponenty systemu na moduły. Architektura modułowa pokazana na rysunku 1 umożliwia aktualizowanie komponentów systemu o krytyczne poprawki błędów i inne ulepszenia w miarę potrzeby bez wpływu na implementacje dostawców niskiego poziomu ani aplikacje i usługi wyższego poziomu.

Architektura główna

Rysunek 1. Architektura głównej linii

Aktualizacje modułów nie wprowadzają nowych interfejsów API. Aplikacje te korzystają tylko z pakietu SDK i interfejsów API systemu, które są gwarantowane przez kompatybilność z testami (CTS), komunikują się tylko ze sobą i korzystają tylko ze stabilnych interfejsów 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 w Google Play lub partner Androida za pomocą mechanizmu OTA udostępnionego przez partnera. Pakiet modułu jest instalowany i wycofywany jako całość. Zaktualizowane są wszystkie moduły, które wymagają aktualizacji, lub żaden z nich.

Dostępne moduły

Nazwa modułu Nazwa pakietu Typ Wersja
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
Konfiguracja infrastruktury com.android.configinfrastructure APEX Android 14
Conscrypt com.android.conscrypt APEX Android 10
Planowanie na urządzeniu 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
IPsec/IKEv2 Biblioteka com.android.ipsec APEX Android 11
Media Multimedia: com.android.media

Kodeki multimedialne: com.android.media.swcodec
APEX Android 10 (wyodrębnianie, interfejs MediaSession API)
Android 11 (interfejs MediaParser API)
MediaProvider com.android.mediaprovider APEXAndroid 11
ModuleMetadata com.android.modulemetadata APK Android 10
Sieć Sieć Konfiguracja uprawnień stosu sieciowego: com.android.networkstack.permissionconfig

Portal logowania: com.android.captiveportallogin

Składniki sieci: 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 pliki APK Android 13
PermissionController com.android.permissioncontroller APK Android 10
Zdalne udostępnianie klucza com.android.rkpd APEX Android 14
Pakiet SDK Extensions com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
Tethering com.android.tethering APEX Android 11
Strefa czasowa com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
Wi-Fi com.android.wifi APEX Android 11