简诉android源代码编译过程,Android源码编译过程及原理(二)

在未来等风也等你

本节主要记录的内容anroid 编译系统的结构

编译中枢中main.mk的基本解析

除非特别说明本节中的目录都是基于android的源码目录

1. android 编译系统的结构

android的编译系统可以分为三部分:build/core: 在这个目录中包含了大量的.mk文件

子项目:每个子项目都包含自己的Android.mk,在编译时会被包含进去,而如何编译子项目是由Andorid.mk文件所决定的3

out/:编译结果输出到该目录下,编译的结果可以是jar包,apk,也可以是二进制的文件等

在Android系统主要就是根据.mk文件进行编译的。

他们之间的关系如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

编译关系

基本的流程是:在我们编译系统时输入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的基本解析决定使用shell的种类(编译脚本运用的是shel

你可能感兴趣的:(简诉android源代码编译过程,Android源码编译过程及原理(二))