一、引言
Android源码的巨大(repo下来,大概2、3G)给人以Android相当复杂的错觉。本文从Android编译系统的角度,让大家了解Android。
Android编译系统(build system)集中于Android源码下的build/core下,其下有n多个*.mk文件,另外还有一些shell脚本,可谓相当庞大。而main.mk是整个编译系统的主导文件。
二、Android Build介绍
Android Build 系统用来编译 Android 系统,Android SDK 以及相关文档。该系统主要由 Make 文件,Shell 脚本以及 Python 脚本组成,其中最主要的是 Make 文件。
众所周知,Android 是一个开源的操作系统。Android 的源码中包含了大量的开源项目以及许多的模块。不同产商的不同设备对于 Android 系统的定制都是不一样的。如何将这些项目和模块的编译统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型,且还要提供面向各个产商的定制扩展,是非常有难度的,但 Android Build 系统很好的解决了这些问题,这里面有很多值得我们开发人员学习的地方。