ב-Android 10 הושק Mainline (שנקרא בעבר 'רכיבי מערכת מודולריים' באתר הזה). ב-Mainline, חלק מרכיבי מערכת Android מחולקים למודולים, ומאפשרים לעדכן אותם מחוץ למחזור ההפצה הרגיל של Android. כך Google ושותפי Android יכולים להפיץ עדכונים באופן נרחב, מהיר ותורן למכשירים של משתמשי הקצה, באופן לא פולשני.
מכשירי משתמשי הקצה יכולים לקבל עדכוני Mainline מהתכונה 'עדכון מערכת' של Android Google Play (שפועלת בתשתית של חנות Google Play) או דרך מנגנון OTA (Over-the-air) שסופק על ידי שותף.
ארכיטקטורה
Mainline ממיר רכיבי מערכת נבחרים למודולים. הארכיטקטורה המודולרית שמוצגת באיור 1 מאפשרת לעדכן את רכיבי המערכת בתיקוני באגים קריטיים ושיפורים אחרים לפי הצורך, בלי להשפיע על הטמעות של ספקים ברמה נמוכה יותר או על אפליקציות ושירותים ברמה גבוהה יותר.
איור 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 | com.android.ipsec |
APEX | Android 11 |
מדיה | מדיה: com.android.media קודקי מדיה: com.android.media.swcodec |
APEX | Android 10 (חילוץ, 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 |
הפונקציונליות הראשית של החבילה: 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 |
Remote Key Provisioning | com.android.rkpd |
APEX | Android 14 |
תוספים ל-SDK | 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 |