鸟人的Android揭秘(4)——Android 源代码编译
前文主要讲解了 Android 编译环境的搭建,接下来我们正式开始 Android 源代码的编译,主要涉及两部分内容:源代码的下载和源代码编译。
前文主要讲解了 Android 编译环境的搭建,接下来我们正式开始 Android 源代码的编译,主要涉及两部分内容:源代码的下载和源代码编译。
编译 Android 平台对硬件和软件都有一定的要求,本文主要讲解这些要求和具体环境的搭建。
Android源代码数量极其庞大,以最新的 Android 7.1 为例,代码数量超过 50G。若想理解和掌握如此庞大的 Android 系统,将需要耗费大量的时间和精力,付出极大的努力。关键是到目前为止也没有相对完整的资料对 Android Framework 作系统性讲解说明。
那么,我们应该如何去分析 Android Framework 的代码呢?回答这个问题之前,先回想一下通常我们是如何分析他人编写的代码。在分析代码时,一般来说我们都会从程序的入口 main 函数开始,一点一点地理清程序的流程,掌握程序运行的过程。同样的,在分析结构庞大的 Android Framework 代码时,我们也要从 Android 平台的启动过程入手。 Android 启动过程包含从 Linux 内核加载到 Android Runtime 启动再到 Launcher 应用启动的整个过程,依次分析这一过程,有利于我们系统地理解 Android Framework 运行的原理。
如果你有过开发 Android 应用程序的经验,即使你对 Android Framework 掌握得不深,通过谷歌提供的 Android SDK,也能非常容易地开发出基于Android的交互应用程序。这得益于 Android 为开发者提供了一套定义良好的软件框架,开发者即使不具备特别高深的专业知识,在短时间内同样能开发出强大的 Android 应用程序。