Android属性之build.prop生成过程分析
发布日期:2021-09-27 14:12:41 浏览次数:4 分类:技术文章

本文共 1345 字,大约阅读时间需要 4 分钟。

本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product/
/system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_get*()[Java域]读取这些属性值。 build.prop的生成是由make系统解析build/core/Makefile完成。1) Makefile中首先定义各种变量,这在下一步执行时会用到。比如: ... PRODUCT_DEFAULT_LANGUAGE="$(calldefault-locale-language,$(PRODUCT_LOCALES))" \ PRODUCT_DEFAULT_REGION="$(calldefault-locale-region,$(PRODUCT_LOCALES))" \ ... 2) Makefile中调用build/tools/buildinfo.sh执行脚本,并输出到build.propBuildinfo.sh很简单,只是echo一些属性,比如: ... echo"ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE" echo"ro.product.locale.region=$PRODUCT_DEFAULT_REGION" ... 而,ro.product.locale.language/ ro.product.locale.region就是些属性,等号后面是值。3) Makefile中直接把$(TARGET_DEVICE_DIR)/system.prop的内容追加到build.prop中。4) 收集ADDITIONAL_BUILD_PROPERTIES中的属性,追加到build.prop中。ADDITIONAL_BUILD_PROPERTIES又会收集PRODUCT_PROPERTY_OVERRIDES中定义的属性 ADDITIONAL_BUILD_PROPERTIES:= \ $(ADDITIONAL_BUILD_PROPERTIES)\ $(PRODUCT_PROPERTY_OVERRIDES) 通过build.prop生成过程的分析,可知哪里可以修改原有的属性或加入自己定义属性,那就是2) buildinfo.sh; 3) system.prop; 4) ADDITIONAL_BUILD_PROPERTIES或PRODUCT_PROPERTY_OVERRIDES。不过个人建议改在system.prop或PRODUCT_PROPERTY_OVERRIDES,这对应于具体特定平台或产品的修改。

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/4106599.html

转载地址:https://blog.csdn.net/FLY_THINK2012/article/details/101840949 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:android.mk中引用第3方 jar包的方法
下一篇:Linux下的USB总线驱动(02)——USB框架usb-skeleton.c

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 16时21分03秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章