Ubuntu下Android源码获取与编译
一、配置环境
1. 磁盘
需要6G以上剩余空间
2. Linux系统
Ubuntu 6.06以上版本,我用的是Ubuntu 9.10
3. Git工具(Git 1.5.4以上版本)
它是类似CVS的版本管理工具,如果你的代码不用从网上下载,而是从别人处复制,则无需此工具
$ sudo apt-get install git-core gnupg
4. Java环境(JDK 5.0 update12以上版本)
$ sudo apt-get install sun-java6-jdk
具体安装请这里。
5. Python (Python 2.4以上版本)
从http://www.python.org/download/下载2.4以上版本
$ tar xvzf python-2.4.5.tgz
$ cd python-2.4.5/
$ ./configure
$ make; make install
6. 依赖的deb包
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
其中flex bison build-essential zip curl可以从光盘安装
其余gperf libsdl-dev libesd0-dev libwxgtk2.6-dev需要从网上安装,它们还依赖一些安装包,所以要用apt-get下载,不要直接下deb包安装
7. 调试工具
$ sudo apt-get install valgrind
二、下载及编译运行Android源码
1. 下载安装脚本
$ wget http://android.git.kernel.org/repo
$ chmod 777 repo
$ cp repo /bin/
2. 用安装脚本下载源码
$ mkdir android_code
$ cd android_code
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
以上命令是下载最新版本,也可以下载其它版本
如我买的手机,在设置->关于手机->固件版本中看到是1.5,所以下载1.5版本,方法如下
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-1.5r3
$ repo sync // 此后会长时间下载
3. 编译
1) 正常编译
$ cd android_code
$ make
映像编译成功后会在目录 android_code/src/out/target/product/generic 下产生一些image文件:ramdisk.img system.img userdata.img
2) 可能出现的问题及解决方法
1. make若提示找不到-lncurses,则需要做以下链接
ln –s /lib/libncurses.so.5 /lib/libncurses.so
2. make若提示找不到run-java-tool,则需要设置java的安装路径
$ export ANDROID_JAVA_HOME=$JAVA_HOME
3. 若提提示找不到zlib.h, 则运行如下命令安装zlib开发包
$ sudo apt-get install zlib1g-dev