在文件 packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java 中
setStringSummary("build_number", Build.DISPLAY);
指定了设置--关于设备--版本号。
Build.DISPLAY即Build类中的 DISPLAY 变量,在文件frameworks/base/core/java/android/os/Build.java 中:
public static final String DISPLAY = getString("ro.build.display.id");
ro.build.display.id在文件build/tools/buildinfo.sh中:
echo "ro.build.display.id=$BUILD_DISPLAY_ID"
而BUILD_DISPLAY_ID在文件build/core/Makefile中:
BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER)
其中 BUILD_ID在build/core/build_id.mk中赋值
BUILD_ID:=OPENMASTER
BUILD_NUMBER在 build/core/version_defaults.mk中赋值:
BUILD_NUMBER := eng.$(USER).$(shell date +%Y%m%d.%H%M%S)
所以在版本号中会出现编译时间的字段。
ro.build.display.id编译后保持在system下的build.prop文件
参考:https://www.jianshu.com/p/c33bfcfad376
总结:
1.修改 build/core/build_id.mk这个只能修改前面 部分
2.直接修改 build/core/Makefile 的BUILD_DISPLAY_ID
最后修改: build/core/Makefile中 BUILD_DISPLAY_ID值,可以直接字符串