一般产品配置文件包含关系

来源:互联网 发布:怎样从淘宝上买东西 编辑:程序博客网 时间:2024/06/04 19:53



一般Android根据产品修改makefile 包含关系如下 首先根据编译选项设定产品名。 我们需要在envsetup.sh 添加在哪个目录进行搜索vendorsetup.sh进行添加产品,这时候产品配置文件AndroidProducts.mk和板子配置文件BoardConfig.mk必须存在否则提示出错(和添加该产品的vendorsetup.sh同目录)。


编译的时候是先包含产品配置文件再包含板子配置文件,AndroidProducts.mk 一般地会先包含\build\target\product\full_base.mk   ->带modern的需要包含telephony.mk没有moderm包含generic_no_telephony.mk 再包含core.mk ->core_base.mk->core_minimal.mk->base.mk->embedded.mk 。 这些都是Android  运行起来base的组件。

有一些私有的*lib , *.jar   *.apk, *.rc 会再抽取出相应的基础platform_common.mk(这个名字举个例子而已)   


所以最后产品的配置文件大概结构就是 AndroidProducts.mk (platform_common.mk(/build/target/product\full_base.mk))  最好包含该产品特有需要打包的APK等组件和工具程序比如SHELL脚本和busybox。一般地会叫device.mk 放在vendor下面,还可以在device.mk 里嵌套包含。


Android的MAKEFILE写法多种多样,但基本都会是类似这种结构,也更容易理解维护,如果关系太乱,文件散乱维护也不方便。