2.1 Android源代码的获取和编译

如果通过前面介绍,你开始对Android源代码有了一些兴趣或好奇,那么不要犹豫,动手把它获取过来。从Android开源项目的官方网站[1],可以了解到如何获取源代码以及如何编译源代码、向各种设备做移植等方面的内容。

2.1.1 环境搭建

Android源代码的下载、编译等工作通常在Ubuntu等Linux操作系统或者Mac OS上进行。如果在Windows上来进行,可以使用虚拟机,这会需要足够强大的机器配置,步骤也相对更为复杂。本章后续对源代码相关操作的说明(除了特别说明的地方),都默认在32位的Ubuntu上(8.10以上)来进行,在环境准备等方面和其他操作系统相比,可能会有一些差异,详情可参见官方网站上的说明。

在获取和编译源代码之前,你需要为它打造一个安全舒适的环境。在32位Ubuntu上,你可以用如下指令去获得相关的源码管理和编译工具:[2]


$sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2. 6-dev build-essential zip curl libncurses5-dev zlib1g-dev


如果上述指令执行失败,可能是因为sun-java5-jdk过于老旧,其apt源不再作为操作系统的默认配置,你需要先替换一下apt的源列表。具体操作方式是:打开/etc/apt/source.list文件,将其中的版本代号信息(比如karmic)换成jaunty,保存,并执行如下指令[3]用以更新apt设置:


$sudo apt-get update


完成之后,再次执行上一条apt-get指令,整个源代码管理和编译的环境就搭建完成了。

特别需要提醒的是,如果想编译2.3以上版本的Android源代码,需要jdk6,而稍老一些的Android源代码,需要使用jdk5进行编译,而不能使用更高版本的jdk进行编译。

[1]Android开源项目的网址在:http://source.android.com。

[2]编译Android的环境在不断的变化中,比如,在Android 2.3之后,其源码就需要使用Java 6的SDK进行编译了。如果需要搭建Android编译环境,最好是参照最新的官方介绍:http://source.android.com/source/initializing.html。

[3]请参考:http://code.google.com/p/androidbmi/wiki/Compile。