zoukankan      html  css  js  c++  java
  • 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);


    接着 看 最上边 的解释

  • 相关阅读:
    SQL_server2000以前的某个程序安装已在安装计算机上创建挂起的文件操作 解决办法
    从SQL Server中导入/导出 Excel 的基本方法
    开启了telnet服务
    Redis之在Linux上安装和简单的使用
    详解Hibernate中的二级缓存
    Reader entry: ���� 乱码
    内部类
    Orical
    el表达式原样输出问题
    intellij idea 修改背景保护色&&修改字体&&快捷键大全
  • 原文地址:https://www.cnblogs.com/liang123/p/6325288.html
Copyright © 2011-2022 走看看