模塊化系統組件

Android 10 或更高版本將一些 Android 系統組件模塊化,並使其能夠在正常的 Android 發布週期之外進行更新。最終用戶設備可以從 Google Play 商店基礎架構或通過合作夥伴提供的無線 (OTA) 機制接收對這些模塊化系統組件的更新。

關於模塊化系統組件

模塊化系統組件使 Google 和 Android 合作夥伴能夠以非侵入式的方式將更新廣泛、快速、無縫地分發到最終用戶設備。例如,媒體編解碼器碎片和嚴重錯誤的結合會顯著降低應用程序的採用率和用戶參與度。頻繁更新媒體相關模塊可以減少編解碼器碎片,使媒體應用程序在不同 Android 設備上的行為更加一致,並修復關鍵錯誤以建立用戶信任。

Android 12 中的更新

新模塊

對現有模塊的更新

以下文檔介紹了針對 Android 12 版本的模塊特定更改。

模塊變化
亞行更新了模塊邊界。
文檔界面禁用文件瀏覽。
外部服務
  • 添加DisplayHashingService
  • 更新了模塊邊界。
媒體添加了一個新的媒體組件。
NNAPI 運行時更新了模塊邊界。
權限控制器
  • 使 PermissionController 模塊完全模塊化。
  • 更新了模塊邊界。
SDK 擴展
  • 更新了模塊職責。
  • 添加了一個新組件。
統計數據更新了模塊邊界。
網絡共享
  • 添加的功能。
  • 更新了模塊邊界。
時區數據更新了包格式。
無線上網更新了模塊邊界。

建築學

Android 10 或更高版本將選定的系統組件轉換為模塊,其中一些使用APEX 容器格式(在 Android 10 中引入),其中一些使用 APK 格式。模塊化架構使系統組件能夠根據需要通過關鍵錯誤修復和其他改進進行更新,而不會影響較低級別的供應商實施或較高級別的應用程序和服務。

模塊化系統組件

圖 1.模塊化系統組件

模塊更新不會引入新的 API。它們只使用兼容性測試套件 (CTS)保證的 SDK 和系統 API,只相互通信,只使用穩定的 C API 或穩定的 AIDL 接口

更新的模塊化系統組件可以打包在一起,並由 Google(使用 Google Play 商店基礎架構)或 Android 合作夥伴(使用合作夥伴提供的 OTA 機制)推送到最終用戶設備。模塊包以原子方式安裝(並回滾),這意味著所有需要更新的模塊都已更新或沒有。例如,如果需要更新的模塊由於任何原因無法更新,則設備不會安裝包中的任何模塊。

可用模塊

Android 包括以下模塊。

模塊名稱包裹名字類型發布介紹
亞行com.android.adbd頂尖安卓 11
藝術com.android.art頂尖安卓 12
強制門戶登錄com.android.captiveportallogin APK安卓 10
小區廣播com.android.cellbroadcast頂尖安卓 11
加密貨幣com.android.conscrypt頂尖安卓 10
設備調度com.android.scheduling頂尖安卓 12
DNS解析器com.android.resolv頂尖安卓 10
文檔界面com.android.documentsui APK安卓 10
外部服務com.android.ext.services APK (安卓 10)
頂點(安卓 11)
安卓 10
IPsec/IKEv2 庫com.android.ipsec頂尖安卓 11
媒體編解碼器com.android.media.swcodec頂尖安卓 10
媒體com.android.media頂尖Android 10(提取器、MediaSession API)
Android 11(媒體解析器 API)
媒體提供者com.android.mediaprovider頂尖安卓 11
模塊元數據com.android.modulemetadata APK安卓 10
網絡堆棧權限配置com.android.networkstack.permissionconfig APK安卓 10
網絡組件com.android.networkstack APK安卓 10
NNAPI 運行時com.android.neuralnetworks APK安卓 11
權限控制器com.android.permissioncontroller APK安卓 10
SDK 擴展com.android.sdkext頂尖安卓 11
統計數據com.android.os.statsd頂尖安卓 11
網絡共享com.android.tethering APK安卓 11
時區數據com.android.tzdata頂尖安卓 10
無線上網com.android.wifi.apex頂尖安卓 11