ב-Android 10 הוצגה Mainline (שנקראה בעבר רכיבי מערכת מודולריים באתר הזה). Mainline מחלקת לרכיבים מודולריים חלק מרכיבי מערכת Android ומאפשרת לעדכן אותם מחוץ למחזור הרגיל של גרסאות Android. כך Google ושותפי Android יכולים להפיץ עדכונים באופן נרחב, מהיר וחלק למכשירים של משתמשי קצה, בלי לשבש את הפעילות שלהם.
מכשירים של משתמשי קצה יכולים לקבל עדכוני Mainline דרך התכונה 'עדכון המערכת של Google Play' (שפועלת בתשתית של חנות Google Play) או דרך מנגנון OTA (עדכון אלחוטי) שסופק על ידי שותף.
ארכיטקטורה
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 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 |
הפונקציונליות העיקרית של החבילה: 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 |