Mainline

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

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

ארכיטקטורה

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

Mainline
architecture

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

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

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

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

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

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

שם המודול שם חבילה סוג הגרסה הושקה
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 12 ‏Android
Bluetooth com.google.android.btservices APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Config Infrastructure com.android.configinfrastructure APEX Android 14
Conscrypt com.android.conscrypt APEX ‫Android 10
תזמון מכשירים com.android.scheduling APEX 12 ‏Android
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 APEXAndroid 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 הפונקציונליות העיקרית של החבילה: com.google.android.ondevicepersonalization (APEX)

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

הפונקציונליות של FederatedCompute APIs: com.google.android.federatedcompute (APK)
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