Ubuntu下配置Android编译运行环境
一. 准备工作l 硬件环境 PC机一台
l 软件环境 Windows XP OS VmwareWorkstation 6.5 Ubuntu-10.04 OS
首先在Windows系统下安装Vmware虚拟机,然后在此基础上虚拟一个linux操作系统, 该linux系统为ubuntu。由于此步骤简单就不在此多说. 二.网络配置由于公司网络设置代理的原因,为了后面的配置顺利进行一定要先把网络环境搭建起来。本机的网络代理为:http://10.99.20.30:8080, 以下配置将根据此代理为准。 在Ubuntu图形化界面中点击System->Preferences->NetworkProxy,如下图所示 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 在下面的界面中进行代理配置,记得最后一定要Apply System-Wide,这样会在/etc/apt/apt.conf中生成相应的配置文件 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
网络配好后,建议更新一下Ubuntu上的软件,System->Administration->UpdateManager 三.配置编译环境该步骤主要用于安装相关编译环境:如C的编译器gcc, Java的编译环境JDK等,别外还有一个linux下的版本控制工具Git和其实与此相关联的先决组件
在命令行中执行以下命令,如图 sudo apt-getinstall git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev
libwxgtk2.6-dev build-essentialzip curl libncurses5-dev zlib1g-dev file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
上述过程在安装jdk时可能会出现如上图问题, 这是由于Ubuntu10.04中没有安装JDK的软件源,所以我们把Jaunty版本的软件源添加进去
sudo apt-get update
之后就可安装apt-getinstall sun-java5-jdk
另一种解决办法 可以把sun-java5-jdk从命令中去掉,然后在执行上述命令则可安装成功。 安装完上述组件后在单独下载JDK1.5进行安装配置,具体请参考附录中参考网站
四.安装RepoRepo即repository,它是基于Git之上的一个工具,它可以帮助我们管理多个Git的版本库,让我们使用Git工具更加容易。
按照官方网站的步骤
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo ($ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //获取repo)
$ chmod a+x~/bin/repo
在执行第三条命令时可能会出现如下所示的问题 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
这是因为网络代理的问题,在命令行中执行此命令:export http_proxy="11.99.22.33:8080"配置一下网络代理的环境变量,再次执行若出现下图则表示安装成功 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
接下来我们执行一下repo如下图 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 此时提示我们需要初始化一下repo。
接着按官方步骤: $ cd ~ $ mkdir mydroid
$ cd mydroid
$ repo init-u git://android.git.kernel.org/platform/manifest.git-b froyo
说明: mydroid你自己可以起名,我的mydroid=android,
froyo是你要下的android的版本名, Android 2.2 release对应的名字即为froyo。
在repo init 前加上 ~/bin/ 即 ~/bin/repo init –u…因为repo没有帮它配环境变量
所以只能用绝对路径
在执行上述过程中会出现如下图所示问题,这可能是因为网络代理的原因,所以要修改repo的通信协议 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
解决办法:$ repo init -u git://android.git.kernel.org/platform/manifest.git-b froyo
将git://改为 http://
再将 ~/bin/repo文件中的 REPO_URL的git://也改为 http://,然后在执行
$ repoinit -u http://android.git.kernel.org/platform/manifest.git -b froyo
如下图所示,则可连接成功: file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
当所有步骤完成后,在~/Android目录下用ls –l –a命令查看,如果目录中出现.repo文件则表示安成功,如下图所示 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpg
五.获取源代码编译命令Repo sync获取源代码 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg 如图所示访问被拒绝,这是由于获取代码的地址被封,只能通过其它途径获得源码,然后拷贝一份到安装目录下
当源码获取完后,首先进行环境变量的配置。 进入安装目录的/build下运行一下envsetup.sh这个脚本,这个脚本一定要在源代码顶层目录执行,目的是为了使用脚本中定义的一些函数如choosecombo,m,mm,mmm等,如图所示 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpg
运行choosecombo命令进行一些环境变量的设置, 这里编译后运行的环境设为Device, 编译后版本为release版本, 编译后的产品为vm,Variant选择user file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
设置完后结果如下图所示 file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg
最后进行编译,在编译之前选择一个target, 即该版本将要运行的平台。 不同硬件平台对应的target参考如下:
- generic_x86: for generic x86 PC/notebook
- eeepc: for ASUS EeePC family only [1.6]
- viewpad10: for ViewSonic ViewPad 10 (may work with other Atom N45x based tablets)
- vm: for virtual machine (virtual box, qemu, vmware) [2.2]
由于我们用的是2.2版本所以这里选择vm, makeiso-img TARGET_PRODUCT=vm 在执行该命令时,可能会出现下图所示情况,请将用户切换到root权限下进行或者使用sudomake iso-img TARGET_PRODUCT=vm file:///C:/Users/HALLEY~1.HUA/AppData/Local/Temp/msohtmlclip1/01/clip_image023.jpg
编译成功后,可在out/target/product/vm/vm.iso找到ISO镜像,用虚拟机载入该镜像即可。 六.参考资源
Linux下JDK的安装与配置:http://blog.sina.com.cn/s/blog_4de067e40100mo4e.html Android官方参考资料:http://source.android.com/source/download.html
|