Ubuntu 10.04下编译Android 2.2源码先安装必须的软件和库程序:
$ sudo -s
$ apt-get update
$ apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev
然后将cn99软件源添加到更新源,继续:
$ apt-get install sun-java6-jdk libwxgtk2.6-dev
下载源码:
$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
编译源码:
$ make
...等待一个半小时...
配置环境变量,运行模拟器:
......
由于Android2.2编译时需要使用jdk6,而子项目的makefile规则里判断若使用jdk6,则系统是64位系统,使用64位编译模块。要想在32系统上正确编译,需要修改下面4个文件:
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk
将文件中的判断语句中ifneq改为ifeq可通过编译
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif