VNDK 快照是一组用于 Android 版本的 VNDK-core 和 VNDK-SP 库。
如果 system.img 包含 vendor.img 所需的相应 VNDK 快照,您只能升级 system 分区。
注意:本页将提供有关构建和更新 VNDK 快照的设计细节。如需详细了解 VNDK 快照的背景、定义和用例,请参阅 VNDK 快照设计。
正式的 VNDK 快照是在 Android 构建服务器上自动构建而成的,并签入 Android 源代码树的 /prebuilts/vndk 中。为了便于开发,您可以在本地构建 VNDK 快照。arm、arm64、x86 和 x86_64 TARGET_ARCH 类型支持 VNDK 快照。
构建快照
Android 构建服务器使用以下构建参数和构建命令,生成构建工件和 VNDK 快照文件。
构建参数
构建目标的名称为 vndk。构建目标配置如下所示。
TARGET_PRODUCT
TARGET_ARCH
TARGET_ARCH_VARIANT
aosp_arm
arm
armv7-a-neon
aosp_arm64
arm64
armv8-a
aosp_x86
x86
x86
aosp_x86_64
x86_64
x86_64
TARGET_PRODUCT=aosp_$(TARGET_ARCH)
TARGET_BUILD_VARIANT=user
TARGET_ARCH 与通用系统映像 (GSI) 目标架构(arm、arm64、x86、x86_64)相同。
TARGET_ARCH_VARIANT。对于快照 v28 (Android 9) 及更高版本,引入了上面列出的热门配置。
构建命令
对于正式快照,Android 9 及更高版本在 vndk.mk 中引入了示例目标 (vndk),该目标会构建 VNDK 快照并将其输出到 $DIST_DIR。快照的 ZIP 文件采用 android-vndk-$(TARGET_ARCH).zip 格式。
例如:
lunch aosp_TARGET_ARCH-user
make -j vndk dist [BOARD_VNDK_VERSION=current]
Android 构建服务器通过以下命令使用 build.sh 脚本来构建所有受支持的架构类型。
DIST_DIR=dist_dir development/vndk/snapshot/build.sh
Android 版本的 VNDK 快照由该版本的发布分支生成。
在本地构建
在开发过程中,您可以通过以下命令,从本地源代码树中构建 VNDK 快照。
如需一次构建所有受支持的架构,请通过以下命令执行构建脚本 (build.sh)。
cd $ANDROID_BUILD_TOP
development/vndk/snapshot/build.sh
如需构建某个特定的 TARGET_ARCH,请执行以下命令。
lunch ao