在未来等风也等你
本节主要记录的内容anroid 编译系统的结构
编译中枢中main.mk的基本解析
除非特别说明本节中的目录都是基于android的源码目录
1. android 编译系统的结构
android的编译系统可以分为三部分:build/core: 在这个目录中包含了大量的.mk文件
子项目:每个子项目都包含自己的Android.mk,在编译时会被包含进去,而如何编译子项目是由Andorid.mk文件所决定的3
out/:编译结果输出到该目录下,编译的结果可以是jar包,apk,也可以是二进制的文件等
在Android系统主要就是根据.mk文件进行编译的。
他们之间的关系如下:
编译关系
基本的流程是:在我们编译系统时输入make后会默认搜索当前目录下的Makefile文件,它的内容如下:### DO NOT EDIT THIS FILE ###include build/core/main.mk### DO NOT EDIT THIS FILE ###
可见它仅仅是包含了一个main.mk文件,说明了main.mk将会是系统编译的重要所在。在系统编译的时候将会包含很多的子项目,对于如何编译子项目是由子项目的Android.mk文件决定的
在编译执行完成之后,编译结果大部分将会存储在out/target/..下
2. 编译中枢中main.mk的基本解析决