本文主要参考官方文档( http://source.android.com/download ) 和 网 上 相 关 资 料 ( http://
blog.csdn.net/HKjinzhao/archive/2009/03/18/4002326.aspx , http://www.williamhua.com/
2009/04/30/how-to-build-android-15-kernel-image/)。网上的资料对于 andorid 的最新代码
有的已经过时,或者有错误,这份文档本人亲自实验,保证可行。另本人没有使用 eclipse
的习惯,所以并没有做 eclipse 的相关配置。
编译环境:ubuntu9.10,widnows 平台目前不被支持。
1)安装必要的软件环境
$ 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
官方推荐的就是上面这些,如果在编译过程中发现某些命令找不到,就 apt-get 它。可能需
要的包还有:
$ sudo apt-get install make
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install libc6-dev
$ sudo apt-get install patch
$ sudo apt-get install texinfo
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install python2.5(或者更高版本)
需要注意的是,官方文档说如果用 sun-java6-jdk 可出问题,得要用 sun-java5- jdk。经测试
发现,如果仅仅 make(make 不包括 make sdk),用 sun-java6-jdk 是没有问题的。而 make
sdk,就会有问题,严格来说是在 make doc 出问题,它需要的 javadoc 版本为 1.5。
因此,我们安装完 sun-java6-jdk 后最好再安装 sun-java5-jdk,或者只安装 sun-java5-jdk。这
里 sun-java6-jdk 和 sun-java5-jdk 都安装,并只修改 javadoc.1.gz 和 javadoc。因为只有这两
个是 make sdk 用到的。这样的话,除了 javadoc 工具是用 1.5 版本,其它均用 1.6 版本:
$ sudo apt-get install sun-java6-jdk
修改 javadoc 的 link
$ cd /etc/alternatives
$ sudo rm javadoc.1.gz
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz
$ sudo rm javadoc
$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
2)设置环境变量
$ emacs ~/.bashrc
在.bashrc 中新增或整合 PATH 变量,如下:
#java 程序开发/运行的一些环境变量
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre