Android 10 引入了 Mainline(在本网站上之前称为模块化系统组件)。Mainline 中采用了一些模块化 Android 系统组件,使其能够在正常的 Android 发布周期之外进行更新。这样,Google 和 Android 合作伙伴能够以非侵入方式广泛、快速、无缝地向最终用户设备分发更新。
最终用户设备可以通过 Android Google Play 系统更新功能(在 Google Play 商店基础架构上运行)或通过合作伙伴提供的无线下载 (OTA) 机制接收 Mainline 更新。
架构
Mainline 会将选定的系统组件转换为模块。通过图 1 所示的模块化架构,系统组件可以根据需要进行重大 bug 修复和其他改进,而不会影响较低级别的供应商实现或较高级别的应用和服务。
图 1. Mainline 架构
模块更新不会引入新的 API。它们仅使用由兼容性测试套件 (CTS) 保证的 SDK 和系统 API,并且只会彼此之间进行通信,且只使用稳定的 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 运行状况 |
|
APEX | Android 14 |
AppSearch | com.android.appsearch |
APEX | Android 13 |
ART | com.android.art |
APEX | Android 12 |
蓝牙 |
|
APEX | Android 13 |
CellBroadcast | com.android.cellbroadcast |
APEX | Android 11 |
配置基础架构 | com.android.configinfrastructure |
APEX | Android 14 |
Conscrypt | com.android.conscrypt |
APEX | Android 10 |
设备调度 | com.android.scheduling |
APEX | Android 12 |
DNS 解析器 | 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 |
网络堆栈 | 网络堆栈权限配置:com.android.networkstack.permissionconfig 强制门户登录: com.android.captiveportallogin 网络组件: com.android.networkstack |
APK | Android 10 |
NNAPI 运行时 | com.android.neuralnetworks |
APK | Android 11 |
OnDevicePersonalization 运行时 | 多个 | 多个 | Android 13 |
PermissionController | com.android.permissioncontroller |
APK | Android 10 |
远程密钥配置 | com.android.rkpd |
APEX | Android 14 |
SDK 扩展 | com.android.sdkext |
APEX | Android 11 |
Statsd | com.android.os.statsd |
APEX | Android 11 |
网络共享 | 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 |