android 8.0系统版本号修改

        关于CTA版本的系统属性修改的两个任务,记录下来,仅供android 初级水平参考

1、将设置-》关于手机-》版本号中的日期从"20180102Q_v1.0"修改为"20180206Q_v1.0"以保证和该页面中的版本号匹配。

查看设置源码直接在设置所有代码中搜索(AS里面直接搜索或者源码环境中grep -nrs "版本号" *)"版本号",对应的代码在

BuildNumberPreferenceController.java文件中,通过如下代码获取:

try {
    preference.setSummary(BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY));
    preference.setEnabled(true);
} catch (Exception e) {
    preference.setSummary(R.string.device_info_default);
}

    查看mydroid\frameworks\base\core\java\android\os\Build.java文件中可以看到DISPLAY是获取的ro.build.display.id属性。该属性的定义位于build/make/tools/buildinfo.sh 文件中"ro.build.display.id=$BUILD_DISPLAY_ID"

搜索BUILD_DISPLAY_ID发现在build\make\core\Makefile  中有如下定义:

ifeq ($(FEATURE_product_CUSTOM_VERSION),true)//product名称是自己的项目名称
  BUILD_DISPLAY_ID := $(BUILD_ID)
endif

再去搜索BUILD_ID可以找到对应的项目device目录中有如下定义:

ifeq ($(FEATURE_USE_EXTERNAL_PRODUCT_NAME),true)
export BUILD_ID=20180102Q_v1.0
endif

将该位置作对应修改即可达到目的。

2、为了CTA的需求将自定义版本号固定(MTK平台)

        MTK平台的自定义版本号是MTK自己添加的,对应的代码在如下目录下:

mydroid\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\mediatek\settings\deviceinfo\CustomizeBuildVersionPreferenceController.java

该值得修改是读取的ro.mediatek.version.release属性,直接在device目录下搜索该属性可以查到:

mediatek/common/device.mk:480:PRODUCT_PROPERTY_OVERRIDES += ro.mediatek.version.release=$(strip $(MTK_BUILD_VERNO))
在项目的产品目录把该值写死即可。

你可能感兴趣的:(android系统)