ב-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 | יותר מאחת | יותר מאחת | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Android Health |
|
APEX | Android 14 |
AppSearch | com.android.appsearch |
APEX | Android 13 |
ART | com.android.art |
APEX | 12 Android |
Bluetooth |
|
APEX | Android 13 |
שידור סלולרי | 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 | 10 Android |
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 (חלְצֵי-נתונים (extractors), MediaSession API)
Android 11 (MediaParser API) |
MediaProvider | com.android.mediaprovider |
APEX | Android 11 |
ModuleMetadata | com.android.modulemetadata |
APK | Android 10 |
מקבץ רשתות | הגדרת הרשאות של סטאק הרשת: com.android.networkstack.permissionconfig כניסה לפורטל שבוי: com.android.captiveportallogin רכיבי רשת: com.android.networkstack |
APK | Android 10 |
NNAPI Runtime | com.android.neuralnetworks |
APK | Android 11 |
OnDevicePersonalization Runtime | יותר מאחת | יותר מאחת | 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 |