zoukankan      html  css  js  c++  java
  • android 系统属性 build.prop

    /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变。这个文件是如何生成的呢?

    build/tools/buildinfo.sh 脚本就是专门用于生成build.prop文件,
    build/core/Makefile中使用build/tools/buildinfo.sh 脚本生成build.prop文件
    并把系统默认的system.prop以及定制的system.prop中的设定追加到build.prop文件中
    后面还有一些设备相关的配置追加到build.prop


    在android手机:设置--关于手机, 以 Android版本 4.0.1 为例:

    在/build/tools/buildinfo.sh中定义 环境变量
    echo "ro.build.version.release=$PLATFORM_VERSION"

    /build/core/version_defaults.mk指定
    PLATFORM_VERSION := 4.0.1

    build.prop的生成是由make系统解析build/core/Makefile完成

    Makefile中首先定义各种变量,其中就有
    PLATFORM_VERSION="$(PLATFORM_VERSION)" \
    这在下一步执行时会用到

    Makefile中调用build/tools/buildinfo.sh执行脚本,并输出到build.prop

    如此在编译工程的时候会生成系统属性文件 /out/target/product/msm7627a/system/build.prop 烧写img后,系统属性文件存在于/system/build.prop中。

    最后在 /packages/apps/Settings/src/com/android/settins/DeviceInfoSettings.java 中读取system/build.prop并最终显示在手机屏幕上


    ---------------------------------------- 分割线 --------------------------------------------

    为了做个验证,我们在系统属性里添加一条 COMMUNICATION_VERSION
    步骤如下:

    1.在/build/core/version_defaults.mk中添加
    ifeq "" "$(COMMUNICATION_VERSION)"
      COMMUNICATION_VERSION := write into /build/core/version_defaults.mk
    endif


    2.在/build/tools/buildinfo.sh中添加
    echo "ro.version.communication=$COMMUNICATION_VERSION"


    3.在/build/core/Makefile中 相应的 位置 添加    
    COMMUNICATION_VERSION="$(COMMUNICATION_VERSION)"\


    4.在src-code/packages/app/Settings/res/xml/device_info_settings.xml中 添加
    <Preference android:key="communication_module_version"
                    style="?android:preferenceInformationStyle"
                    android:title="@string/Communication_module_version"
                    android:summary="@string/device_info_default"/>

    4.在/packages/apps/Settings/src/com/android/settins/DeviceInfoSettings.java的 onCreate函数中 添加
    setValueSummary(KEY_COMMUNICATION_MODULE_VERSION, "ro.version.communication");

    5.编译rootfs和打包

    6.查看/out/target/product/msm7627a/system/build.prop
    中会多了一条
    ro.version.communication=write into /build/core/version_defaults.mk

    6.烧写img到手机

    就会显示新添加的属性
    ------------------------------
    Communication module version

    write into /build/core/version_defaults.mk

    ------------------------------------

    注意:KEY_COMMUNICATION_MODULE_VERSIONcommunication_module_version就是XML中的key



  • 相关阅读:
    POJ 1141 括号匹配 DP
    881. Boats to Save People
    870. Advantage Shuffle
    874. Walking Robot Simulation
    文件操作
    861. Score After Flipping Matrix
    860. Lemonade Change
    842. Split Array into Fibonacci Sequence
    765. Couples Holding Hands
    763. Partition Labels
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744855.html
Copyright © 2011-2022 走看看