在文件 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文件。
一、版本號
1 顯示版本號的代碼在
packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
在public void onCreate(Bundle icicle) 函數中,setStringSummary(KEY_BUILD_NUMBER, Build.DISPLAY);這一句中設置的。
將這句代碼改爲:setStringSummary(KEY_BUILD_NUMBER, Build.MY_VER);
當然也可以把第二個參數直接改爲一個版本號的字符串也可以,這樣就不需要後面的步驟。
2 Build.DISPLAY這個變量是在frameworks/base/core/java/android/os/Build.java定義的
public static final String DISPLAY = getString(“ro.build.display.id”);
我們可以在下面增加自己的版本的字符串
public static final String MY_VER = getString(“ro.version”);
3 增加自己的環境變量
在device目錄下找到system.prop文件,增加ro.version=V1.0
4 重新編譯,有的時候make後自己新加的環境變量沒有生效,可以把out目錄下的build.prop刪除,再重新編譯。
二、Android版本
1 顯示版本號的代碼在
packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
在public void onCreate(Bundle icicle)函數中,setStringSummary(KEY_FIRMWARE_VERSION, Build.VERSION.RELEASE);這一句中設置的。可以將第二個參數直接改爲一個版本號的字符串就可以。
也可以在alps\build\core\version_defaults.mk文件中修改:PLATFORM_VERSION := 7.1 的Android版本