Google 致力于为黑人社区推动种族平等。查看具体举措

SDK 扩展

SDK 扩展模块用于确定设备的扩展 SDK 级别,并提供供应用查询扩展 SDK 级别的 API。此模块是可更新的,这意味着它可在 Android 常规发布周期外的时间接收功能更新。

SDK 扩展模块包含以下组件。

  • bin/derive_sdk - 此原生二进制文件在设备启动过程的早期运行,会读取其他模块的元数据,以设置与扩展 SDK 相关的系统属性(例如 build.version.extensions.r)。

  • javalib/framework-sdkextension.jar - 此文件位于 bootclasspath 中,用于向应用公开用于查询扩展 SDK 级别的 API。

模块格式

SDK 扩展模块 (com.android.sdkext) 采用 APEX 格式,适用于搭载 Android 11 或更高版本的设备。

派生扩展 SDK 级别

derive_sdk 程序可读取作为二进制 protobuf 文件存储在每个 APEX 模块内的 etc/sdkinfo.binarypb 子路径中的元数据。如需详细了解 protobuf 结构,请参阅 sdk.proto 文件。

读取扩展 SDK 级别

SDK 扩展模块在 android.os.ext 软件包中公开了 SdkExtensions Java 类。使用 getExtensionVersion(int) 方法可读取 SDK 扩展的版本(例如 getExtensionVersion(Build.VERSION_CODES.R))。