鸟人的Android揭秘(2)——通过启动过程分析 Android Framework

Android源代码数量极其庞大,以最新的 Android 7.1 为例,代码数量超过 50G。若想理解和掌握如此庞大的 Android 系统,将需要耗费大量的时间和精力,付出极大的努力。关键是到目前为止也没有相对完整的资料对 Android Framework 作系统性讲解说明。

那么,我们应该如何去分析 Android Framework 的代码呢?回答这个问题之前,先回想一下通常我们是如何分析他人编写的代码。在分析代码时,一般来说我们都会从程序的入口 main 函数开始,一点一点地理清程序的流程,掌握程序运行的过程。同样的,在分析结构庞大的 Android Framework 代码时,我们也要从 Android 平台的启动过程入手。 Android 启动过程包含从 Linux 内核加载到 Android Runtime 启动再到 Launcher 应用启动的整个过程,依次分析这一过程,有利于我们系统地理解 Android Framework 运行的原理。

鸟人的Android揭秘(1)——源代码构成

如果你有过开发 Android 应用程序的经验,即使你对 Android Framework 掌握得不深,通过谷歌提供的 Android SDK,也能非常容易地开发出基于Android的交互应用程序。这得益于 Android 为开发者提供了一套定义良好的软件框架,开发者即使不具备特别高深的专业知识,在短时间内同样能开发出强大的 Android 应用程序。​