搜索
 找回密码
 立即注册

简单一步 , 微信登陆

Ubuntu下配置Android编译运行环境

作者:halleyhuang | 时间:2016-7-20 12:32:02 | 阅读:4292| 只看该作者
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版本的软件源添加进去

修改/etc/apt/sources.list,添加如下配置
debhttp://ubuntu.cn99.com/ubuntu/ jaunty main restricted universe multiverse
debhttp://ubuntu.cn99.com/ubuntu/ jaunty-backports restricted universe multiverse
debhttp://ubuntu.cn99.com/ubuntu/ jaunty-proposed main restricted universemultiverse
debhttp://ubuntu.cn99.com/ubuntu/ jaunty-security main restricted universemultiverse
debhttp://ubuntu.cn99.com/ubuntu/ jaunty-updates main restricted universemultiverse
deb-srchttp://ubuntu.cn99.com/ubuntu/ jaunty main restricted universe multiverse
deb-srchttp://ubuntu.cn99.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-srchttp://ubuntu.cn99.com/ubuntu/ jaunty-proposed main restricted universemultiverse
deb-srchttp://ubuntu.cn99.com/ubuntu/ jaunty-security main restricted universemultiverse
deb-srchttp://ubuntu.cn99.com/ubuntu/ jaunty-updates main restricted universe multiverse

sudo apt-get update
之后就可安装apt-getinstall sun-java5-jdk

另一种解决办法
可以把sun-java5-jdk从命令中去掉,然后在执行上述命令则可安装成功。
安装完上述组件后在单独下载JDK1.5进行安装配置,具体请参考附录中参考网站

四.安装Repo
Reporepository,它是基于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_URLgit://也改为 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镜像,用虚拟机载入该镜像即可。
六.参考资源
LinuxJDK的安装与配置http://blog.sina.com.cn/s/blog_4de067e40100mo4e.html
Android官方参考资料:http://source.android.com/source/download.html



收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

大神点评1

沙发#
bean.yang 发表于:2016-7-22 09:08:02
Linux才是王道
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版