当前位置: 首页 > news >正文

Android build.prop生成过程源码分析

Android的build.prop文件是在Android编译时刻收集的各种property【LCD density/语言/编译时间, etc.】;编译完成之后,文件生成在out/target/product/<board【OK1000】>/system/目录下;在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_get*()[Java域]读取这些属性值。

build.prop的生成是由make系统解析build/core/Makefile完成,其中代码片段如下:
在这里插入图片描述

从159到192行都是为了后面做准备,一共分为三步:
1、Makefile中调用build/tools/buildinfo.sh执行脚本,并输出到build.prop【上述193行】。
buildinfo.sh很简单,只是echo一些属性:
在这里插入图片描述

2、Makefile中直接把$(TARGET_DEVICE_DIR)/system.prop的内容追加到build.prop中【上述194行】;

在这里插入图片描述

3、收集ADDITIONAL_BUILD_PROPERTIES中的属性,追加到build.prop中【上述207行】;ADDITIONAL_BUILD_PROPERTIES又会收集PRODUCT_PROPERTY_OVERRIDES中定义的属性【例如:build/core/main.mk】:
在这里插入图片描述

通过build.prop生成过程的分析,可知哪里可以修改原有的属性或加入自己定义属性:1,2,3都可以,不过个人建议还是用2、3方式,这样更好定制自己的产品;

在第一页的代码片段中的209行又是一个很久意思的脚本文件;后面有专门的专题分析,敬请期待…

说明:
在刚开始移植好的RK3188Android4.4生成的build.prop文件,仅供参考。

觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!

http://www.lryc.cn/news/348217.html

相关文章:

  • 计算机网络教材——谢希仁教材与配套PPT课件和《计算机网络——自顶向下方法》
  • mysql 离线安装
  • 【C++】 string类:应用与实践
  • 巩固学习7
  • Android 右键 new AIDL 无法选择
  • 使用Springboot整合Elasticsearch
  • Vue3+Element+TS动态菜单+按钮权限控制实现探索
  • 五款公司源代码加密软件推荐|代码防泄密解决方案
  • 【spring】Security 密码加密算法
  • IO系列(一) -一文带你读懂 java 中的IO流!
  • 代码随想录算法训练营第六天| 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
  • 【python】中的可迭代对象、迭代器、生成器
  • 短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发
  • K8s:二进制安装k8s(单台master)
  • C++类和对象下——实现日期类
  • 252 基于MATLAB的自适应差分阈值法检测心电信号的QRS波
  • SSIM(Structural Similarity),结构相似性及MATLAB实现
  • 第十六章-消费者-PUSH方式(一)
  • 【C++要哮着学】初识C++,什么是C++?什么是命名空间?什么又是缺省函数?
  • Lua 数字格式化
  • Java入门基础学习笔记13——数据类型
  • 使用Docker+Jar方式部署微服务工程(前后端分离)看着一篇就够了
  • 红外遥控和LCD1602
  • 房屋出租管理系统需求分析及功能介绍
  • 高精度模拟算法
  • Ansible简介版
  • 卷积通用模型的剪枝、蒸馏---蒸馏篇--RKD关系蒸馏(以deeplabv3+为例)
  • AVL树的完全指南:平衡与性能
  • itext7 PDF添加水印,获取页面高度,添加到页面右上角
  • docker端口映射成功,docker端口不生效的问题解决,外界无法访问docker映射端口