android“设置”里的版本号
在文件 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");
當 android 系統跑起來 之后,會讀取 /system/build.prop 文件里 對應的 字符串;?
ro.build.display.id在文件build/tools/buildinfo.sh中:
echo "ro.build.display.id=$BUILD_DISPLAY_ID"
?build/tools/buildinfo.sh 文件 會把 內容 寫到?/system/build.prop 文件里,供 java文件 讀取
?而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. 修改 java文件,這樣是 直接寫死;2.修改 編譯系統;
============================
跟蹤方法:
1、首先 打開 MID 在English 下,查看 Setting --> About tablet -->?Build number
2、到 source/packages/apps/Settings/res/ 下,grep -Rn "Build number" ./????? 找到 如下 信息
./values/strings.xml:1798:??? <string name="build_number">Build number</string>
3、然后再 grep -Rn "build_number" ./????? 找到 如下 信息
./xml/device_info_settings.xml:117:??????? <Preference android:key="build_number"
./xml/device_info_settings.xml:119:??????????????? android:title="@string/build_number"
4、vim ./xml/device_info_settings.xml ,找到 如下 信息
<!-- Detailed build version -->
<Preference?android:key="build_number"?//這個 key 指定的是 java文件里的?build_number
??????? style="?android:preferenceInformationStyle"
??????? android:title="@string/build_number"
??????? android:summary="@string/device_info_default"/>
解釋:以上 title部分 是在 MID里 顯示 出來的 標題名,而key 是 標題的內容,接下來 到 java文件里 找 對應 key的?build_number;
5、當前目錄packages/apps/Settings/src/ 下, 執行 grep -Rn "build_number" ./?? 找到 如下 信息
./com/android/settings/DeviceInfoSettings.java:57:??? private static final String?KEY_BUILD_NUMBER?= "build_number";
6、vim? ./com/android/settings/DeviceInfoSettings.java ,通過 KEY_BUILD_NUMBER 找到 當前文件里的 如下 信息:
setStringSummary(KEY_BUILD_NUMBER,?Build.DISPLAY);
接著 看 最上邊 的解釋
總結
以上是生活随笔為你收集整理的android“设置”里的版本号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse新建工程编译R canno
- 下一篇: 高通平台点亮LCD个人总结