android 系统属性 build.prop

android 系统属性 build.prop/system/build.prop是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变。这个文件是如何生成的呢?build/tools/buildinfo.sh脚本就是专门用于生成build.prop文件,build/core/Makefile中使用build/tools/buildinfo.sh脚本生成build.prop文件,并把系统默认的sy

/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_VERSION 是communication_module_version就是XML中的key 。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34448.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注