Android Runtime (ART)

ART 模块旨在通过向用户提供最新的托管式运行时优化、功能和 bug 修复,提升 Android 使用体验。用户无需再忍受一成不变的设备出厂运行时。开发者不再需要等待数年才能使用新功能。运行时和库的相关改进将与所有 Android 合作伙伴共享。

Android 运行时 (ART) 和托管式核心库 (libcore) 是 Android 10 中运行时模块工作的一部分,原生运行时 (Bionic) 和 ICU 也是。

在 Android 11 中,ART 和 libcore 被打包为不可更新的 APEX。Bionic 和 ICU(代码和数据)仍保留在平台上,并与 ART 分开,以提高可更新性。

模块方案

  • 在 Android 12 中,ART 模块是一个已签名的可更新 APEX。

  • 在 Android 11 中,ART 和 libcore 被打包为不可更新的 APEX。Bionic 和 ICU(代码和数据)仍保留在平台上,并与 ART 分开,以提高可更新性。

  • 在 Android 10 中,ART 和托管式核心库 (libcore) 是运行时模块工作的一部分,原生运行时 (Bionic) 和 ICU 也是。

模块边界

项目名称 用途
art 模块项目
external/apache-xml 模块项目
external/bouncycastle 模块项目
external/okhttp 模块项目
external/oj-libjdwp 模块项目
libcore 模块项目
libnativehelper 模块项目
system/core/libnativebridge 模块项目
system/core/libnativeloader 模块项目

软件包格式

ART 模块 (com.android.art) 是关键的系统组件,故而在出厂时就以 APEX 的形式提供。APK 中的应用和服务需要有 ART 模块才能启动。