总结出Ubuntu 9.04下编译Android源码的过程,便于大家参考;
在用户目录下,创建一个存放Andorid源码的目录,以及bin目录。
1、Install Git and Repo tools;
sudo apt-get install git-core curl
cd ~
mkdir android
mkdir bin
cd bin
curl http://android.git.kernel.org/repo > repo
sudo chmod a+x repo
可以为repo命令修改环境变量,在.bashrc文件中加入如下:
export PATH=$PTAH:~/bin/ (可选项)
2、Download source of android;
在用户根目录下或者其它目录创建一个源码的保存目录,例如fandroid。
mkdir fandroid
cd fandroid
../bin/repo init -u git://android.git.kernel.org/platform/manifest.git
(如果上面设定PATH的环境变量,直接使用repo init -u git://android.git.kernel.org/platform/manifest.git)
进行设置完成后,开始同步代码(根据网络大概需要数小时或数日。如果之前没有下载过,将全部下载;如果之前下载过,将只更新升级的文件);
../bin/repo sync
(如果上面设定PATH的环境变量,直接使用repo sync)
同步完成后,设置环境变量,加入JAVA_HOME和ANDROID_JAVA_HOME。
根据自己的java安装,可以在.bashrc文件中加入如下两行:(可选项)
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.13
export ANDROID_JAVA_HOME=$JAVA_HOME
然后重启Terminal。
3、Build your android;
首先安装一些必须的工具包:(已安装工具包进行升级,未安装的进行下载安装)
sudo apt-get install gcc g++ flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip valgrind sun-java6-jdk zlib1g-dev libncurses5-dev
最后进入到创建的源码目录fandroid执行make就可以了。
由于本人没有设定JAVA_HOME的环境变量,编译开始提示了java版本错误,要求使用java1.5,而我的系统中安装了java1.5和java6(可能由于上面的安装导致),造成混乱。
最终发现了一个linux下选择软件版本的工具alternatives,能将系统默认的Java版本设定在java1.5(或者1.6):
以下命令列出当前的版本列表;
sudo update-java-alternatives -l
以下命令设定上面列出的Java5版本;
sudo update-java-alternatives -s XXXX (例如java-1.5.0-sun)(to set the XXX java version as default)
java -version
然后在fandroid下make,直到out目录下产生相应的image,一切ok!
FFARM非凡之臂总结,转载请标注出处:
http://hi.baidu.com/ch_ff/modify/blog/99b6483e60cfdce655e723e1
(ch_ff)