Mainline

ב-Android 10 הוצגה מערכת Mainline (שנקראה בעבר רכיבי מערכת מודולריים באתר הזה). פרויקט Mainline הופך חלק מרכיבי מערכת Android למודולריים, ומאפשר לעדכן אותם מחוץ למחזור הרגיל של גרסאות Android. כך Google ושותפות Android יכולות להפיץ עדכונים באופן נרחב, מהיר וחלק למכשירי משתמשי הקצה, בלי להפריע להם.

מכשירים של משתמשי קצה יכולים לקבל עדכוני Mainline דרך התכונה 'עדכון המערכת של Android Google Play' (שפועלת בתשתית של חנות Google Play) או דרך מנגנון OTA (עדכון אלחוטי) שסופק על ידי שותף.

ארכיטקטורה

‫Mainline ממירה רכיבי מערכת נבחרים למודולים. הארכיטקטורה המודולרית שמוצגת באיור 1 מאפשרת לעדכן את רכיבי המערכת בתיקוני באגים קריטיים ובשיפורים אחרים לפי הצורך, בלי להשפיע על יישומי ספקים ברמה נמוכה יותר או על אפליקציות ושירותים ברמה גבוהה יותר.

ארכיטקטורה של Mainline

איור 1. ארכיטקטורה של Mainline

עדכוני מודולים לא כוללים ממשקי API חדשים. הם משתמשים רק ב-SDK ובממשקי System API שמובטחים על ידי חבילת הבדיקות לתאימות (CTS), מתקשרים רק אחד עם השני ומשתמשים רק ב-C API יציב או בממשקי AIDL יציבים.

עדכונים במודול

חלק מהמודולים של Mainline משתמשים בפורמט המכולה APEX (שהושק ב-Android 10) וחלק משתמשים בפורמט APK.

אפשר לארוז מודולים מעודכנים של Mainline ולדחוף אותם למכשירים של משתמשי קצה, על ידי Google באמצעות תכונת עדכון המערכת של Google Play, או על ידי שותף של Android באמצעות מנגנון OTA שסופק על ידי השותף. חבילת המודולים מותקנת ומוחזרת באופן אטומי. כלומר, כל המודולים שצריך לעדכן מתעדכנים או שאף אחד מהם לא מתעדכן.

מודולים זמינים

שם המודול שם חבילה סוג הגרסה הושקה
adbd com.android.adbd APEX ‫Android 11
AdServices com.google.android.adservices APEX ‫Android 13
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.bt APEX ‫Android 13
CellBroadcast com.android.cellbroadcast APEX ‫Android 11
תשתית ההגדרה com.android.configinfrastructure APEX ‫Android 14
Conscrypt com.android.conscrypt APEX ‫Android 10
תזמון מכשירים 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 Library com.android.ipsec APEX ‫Android 11
מדיה מדיה:
com.android.media

קודקים של מדיה:
com.android.media.swcodec
APEX ‫Android 10 (extractors, MediaSession API)
‫Android 11 (MediaParser API)
MediaProvider com.android.mediaprovider APEX‫Android 11
ModuleMetadata com.android.modulemetadata APK ‫Android 10
Network Stack הגדרת הרשאות של מחסנית הרשת:
com.android.networkstack.permissionconfig

כניסה לפורטל שבוי:
com.android.captiveportallogin

רכיבי רשת:
com.android.networkstack
APK ‫Android 10
NNAPI Runtime com.android.neuralnetworks APK ‫Android 11
OnDevicePersonalization Runtime הפונקציונליות העיקרית של החבילה (APEX):
com.google.android.ondevicepersonalization

הפונקציונליות של OnDevicePersonalization API ‏ (APK):
com.google.android.ondevicepersonalization

הפונקציונליות של FederatedCompute APIs ‏ (APK):
com.google.android.federatedcompute
APEX ו-APK ‫Android 13
PermissionController com.android.permissioncontroller APK ‫Android 10
הקצאת הרשאות מרחוק com.android.rkpd APEX ‫Android 14
SDK Extensions com.android.sdkext APEX ‫Android 11
Statsd com.android.os.statsd APEX ‫Android 11
שיתוף אינטרנט בין מכשירים (tethering) com.android.tethering APEX ‫Android 11
נתוני אזור זמן com.android.tzdata APEX ‫Android 10
UWB com.android.uwb APEX ‫Android 13
Wi-Fi com.android.wifi APEX ‫Android 11