一.环境vmWare6.0 , win7 , ubuntu9.0.4desktop.iso, Android-2.1-Real6410-r3.tar
二.安装vmWare,然后安装ubuntu9.0。这个步骤这里就不在多说了。
三.进入虚拟机,启动Terminal控制行,安装我们所需要的软件
sudo apt-get install build-essential
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 flex
sudo apt-get install bison
sudo apt-get install patch
sudo apt-get install texinfo
sudo apt-get install libncurses-dev
sudo apt-get install git-core gnupg //(gnupg系统可能已自带)
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
sudo apt-get install ncurses-dev
sudo apt-get install zlib1g-dev
sudo apt-get install valgrind(可选,有21M大,我觉得一般人是用不到的)
sudo apt-get install python2.5 (实际上不用装,Ubuntu 8.04 已经自带)
sudo apt-get install sun-java5-jdk
注意:
a. 不要用 sun-java6-jdk, 不然在make sdk, 具体来说是make doc这一步中, 遇到这个错误:
Docs droiddoc: out/target/common/docs/dx
javadoc: error - In doclet class DroidDoc, method start has thrown an
exception java.lang.reflect.InvocationTargetException
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
sun.util.resources.OpenListResourceBundle not found
b. 网上资料说需要设置环境变量, 但我并没有设置:
export ANDROID_JAVA_HOME=$JAVA_HOME
c. 网上并没有提及要安装ncurses-dev, 但安装之前我编译过程中会出现编译错误
到这里所有的准备工作都已经准备完毕了,开始编译android
四.android源码的编译
以下步骤请在root权限下完成,如果是普通用户请将权限修改为root权限
五.编译完成后会自动的生成一个OUT文件夹,里面就是存放编译后SDK的地方
进入out文件夹下
$ cd /host/Linux-x86/sdk/android-sdk_eng.root_Linux-x86/tools
运行
$./android就可以启动android的模拟器了
我在做这一步的时候出现了一个错误
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
查阅了很多资料最后知道了这个是一个ubuntu的老问题解决方法如下
$DISPLAY =:0.0
$xhost
即可