首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ubuntu 虚拟机上编译SDK记录

2012-10-26 
ubuntu 虚拟机下编译SDK记录一.环境vmWare6.0?, win7 , ubuntu9.0.4desktop.iso, Android-2.1-Real6410-r3

ubuntu 虚拟机下编译SDK记录

一.环境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权限

?

?

?建立android源码的存放目录
?$ mkdir ~/open_src
?$ mkdir ~/open_src/android
?$ cd ~/open_src/android
?$ mkdir bi?
下载repo脚本,放到~/open_src/android/bin目录下,加上可执行权
????????? $ curl http://android.git.kernel.org/repo > repo
????????? $ sudo mv repo ~/open_src/android/bin
????????? $ sudo chmod a+x ~/open_src/android/bin/repo ?在源码存放目录android中执行
?$ ~/open_src/android/bin/repo init -u git://android.git.kernel.org/platform/manifest.git
?//中间会提示输入电子邮件什么的,如果你打算要提交patch的话,用google accounts注册过的邮箱
?在android目录中执行repo sync就可以开始下载源码了.
?我们也可以从其他地方把源码复制到android目录, 而我正是这么做的.
?编译源码, 并得到~/open_src/android/out 目录
?在命令行执行make命令:
?$make
?这是一个很漫长的过程, 等吧......

五.编译完成后会自动的生成一个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

即可

热点排行