在文件 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“设置”里的版本号相关推荐

  1. android动态设置src,Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

  2. Android入门第3天-在Android Studio里配置虚拟器

    配置 点击右上角这个地方,选Device Manager 然后你会看到以下这个界面: 然后你这边按下[Next]按钮后会来到下面这个界面 在左边有一个"下载"箭头的代表,这个虚拟机 ...

  3. Android Studio里面的Build.gradle的详细配置说明

    Android Studio里面的Build.gradle的详细配置说明 [java] view plain copy print ? apply plugin: 'com.android.appli ...

  4. Android Studio里面的Build.gradle的详细配置

    Android Studio里面的Build.gradle的详细配置说明 apply plugin: 'com.android.application'//说明module的类型,com.androi ...

  5. 在Eclipse中的Android项目里实现代码复用

    引言 开发时通常都会有多个项目间代码复用的需求,这时通常的做法是设置项目依赖,让一个项目引用另一个项目,比如在Visual Studio中这样就很容易实现. 而在Eclipse中的Android项目里 ...

  6. Android 设置TextView字体加粗

    今天,简单讲讲Android里如何设置TextView字体加粗. 不废话了,用过多次,还是没记住.直接上代码. 1.布局文件中这样设置即可: XML/HTML代码 android:textStyle= ...

  7. android 设置PopupWindow透明度

    今天,简单讲讲android里如何设置PopupWindow的透明度. 之前,我看到其他app的记住用户名的PopupWindow是透明的,可是自己做的记住用户名的PopupWindow却不是透明的, ...

  8. android手机如何安装apk文件,如何安装APK文件到自己的android手机里?.doc

    如何安装APK文件到自己的android手机里? 很多朋友刚拿到G1的时候大概首先就是要往里面装软件了,在ANDROID平台下安装文件的后缀名为".apk",就好像PC上的安装文件 ...

  9. Android设置系统时间和时区

    更改时区 方法一: 测试通过 两句话: AlarmManager timeZone= (AlarmManager)getSystemService(ALARM_SERVICE); timeZone.s ...

最新文章

  1. 华科发布报告:41%研究生学霸是单身!
  2. 51Nod - 1035 最长的循环节
  3. Docker部署配置相关使用总结
  4. Android实训日志:基于外部存储卡的音乐播放器V02
  5. 大数据WEB阶段Mybatis(二)
  6. 小程序 封装table组件
  7. es6 Null 传导运算符
  8. Tomcat源码学习(9)-How Tomcat works(转)
  9. Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
  10. easyui 改变单元格背景颜色
  11. 用友CDM系统“货位间商品移库单(一步)”表体增加“货位可用数量”字段,根据表头的选择的货位自动带出数值...
  12. 公众号的Markdown排版利器:Md2All
  13. matlab串级控制系统设计,SVPWM在串级调速系统中的MATLAB仿真研究
  14. 图像的transformation与registration
  15. 网页制作存在的一些难点
  16. access中dbs和dbms_DB、DBS、DBMS三者的关系是什么?
  17. (业务)自动生成邀请码
  18. Linux下的常用命令(干货)
  19. “闪婚”的代价:亿晶光电控股权陷“罗生门”
  20. signature=161034cb9eebb9b66e71be6081528fe7,Alternative Semantics for Verdi

热门文章

  1. Java---模拟图灵机的运行过程
  2. python绘制球体_趣学Python之弹球游戏第一阶段--画个红球
  3. mapper中 <include refid=“XXX“></include>标签 <sql id=“XXX“>标签
  4. php 可以做pc客户端吗,vue.js能做pc端吗
  5. python代码评测结果tle_Python的备忘细节小抄
  6. 的工作空间查看_【工作推荐】裱花师、现金会计、汽车维修等热门岗位汇总!...
  7. 记录华为P40Pro+系列相机参数总结
  8. 论文目录用word怎么自动生成或插入?
  9. hao123电脑版主页_生活小技巧003:电脑主页被恶意篡改怎么办?
  10. keil obj 文件 结构_【Python】数据分析前的入门教程 Python For Everybody P2:数据结构...