Mainline

Android 10 引入了 Mainline(在本网站上之前称为模块化系统组件)。Mainline 中采用了一些模块化 Android 系统组件,使其能够在正常的 Android 发布周期之外进行更新。这样,Google 和 Android 合作伙伴能够以非侵入方式广泛、快速、无缝地向最终用户设备分发更新。

最终用户设备可以通过 Android Google Play 系统更新功能(在 Google Play 商店基础架构上运行)或通过合作伙伴提供的无线下载 (OTA) 机制接收 Mainline 更新。

架构

Mainline 会将选定的系统组件转换为模块。通过图 1 所示的模块化架构,系统组件可以根据需要进行重大 bug 修复和其他改进,而不会影响较低级别的供应商实现或较高级别的应用和服务。

Mainline 架构

图 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 APEXAndroid 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