
目录一、前言1.1 为什么需要定制版本号1.2 常见的修改方式及问题二、官方预留机制ROCKCHIP_BUILD_NUMBER2.1 在 version_util.mk 中发现官方预留2.2 版本号的传递链三、具体实现3.1 修改 rk3568_t.mk3.2验证总结一、前言1.1 为什么需要定制版本号在 Android 设备量产和交付过程中版本号Build Number是设备身份的核心标识之一。它出现在位置说明Settings → 关于平板电脑 → 版本号用户可见的版本标识ro.build.display.id系统属性应用可读取ro.build.fingerprint完整的构建指纹OTA 升级包服务器识别设备版本的依据售后追踪通过版本号查询生产批次默认版本号的问题eng.androi.20260911.060024这个默认值包含eng工程版本androi编译用户名的前 6 位20260911.060024编译日期和时间1.2 常见的修改方式及问题方式问题直接改build.prop编译后被覆盖改version_util.mkAOSP 核心文件升级 SDK 时被覆盖改version_defaults.mk同上且逻辑复杂改system.prop需要额外维护容易遗漏理想方案使用 SDK官方预留的变量在板级配置文件中定义既干净又安全。二、官方预留机制ROCKCHIP_BUILD_NUMBER2.1 在version_util.mk中发现官方预留打开build/core/version_util.mk找到BUILD_NUMBER的定义部分逻辑解读优先级条件结果1定义了ROCKCHIP_BUILD_NUMBERBUILD_NUMBERROCKCHIP_BUILD_NUMBER2未定义ROCKCHIP_BUILD_NUMBERBUILD_NUMBER 默认的eng.用户名.日期时间关键发现RK3568 SDK 官方预留了ROCKCHIP_BUILD_NUMBER变量专门用于覆盖默认版本号。2.2 版本号的传递链ROCKCHIP_BUILD_NUMBERBoardConfig.mk 定义 ↓ BUILD_NUMBERversion_util.mk 赋值 ↓ BUILD_DISPLAY_ID $(BUILD_ID).$(BUILD_NUMBER) ↓ ro.build.display.idbuild.prop 生成 ↓ Settings → 关于平板电脑 → 版本号这就是为什么改ROCKCHIP_BUILD_NUMBER就能改版本号显示。三、具体实现3.1 修改 rk3568_t.mk打开device/rockchip/rk356x/rk3568_t/rk3568_t.mk在文件一开始中添加# # 版本号定制 # # 使用官方预留的 ROCKCHIP_BUILD_NUMBER 变量 # 该变量会覆盖 version_util.mk 中的默认 BUILD_NUMBER # ROCKCHIP_BUILD_NUMBER : rk3568_v1.0.03.2验证在安卓板子上执行以下shell命令可以看到版本号成功写入或者在系统设置页面也能看到经过查询Android 的ro.build.display.id属性不是单独的一个值而是由多个字段组合而成的字段含义你的值rk3568_t产品名称PRODUCT_NAME来自device/rockchip/rk356x/rk3568_t下的配置userdebug编译类型BUILD_TYPE你当前是 userdebug 版本13Android 版本PLATFORM_VERSIONAndroid 13TQ3C.230805.001.B2内部版本号BUILD_ID由 AOSP 定义通常不改rk3568_v1.0.0自定义的版本号✅ 这里就是ROCKCHIP_BUILD_NUMBER生效的位置release-keys签名类型BUILD_KEYS默认 release-keysROCKCHIP_BUILD_NUMBER只控制中间那个“BUILD_NUMBER”部分它不会替换整个ro.build.display.id而是作为其中的一个字段被拼进去。总结通过ROCKCHIP_BUILD_NUMBERRK3568 Android 13 SDK 的版本号管理变得简单、干净、可维护。这是瑞芯微官方为产品化部署预留的标准化方案值得在量产项目中广泛采用。