Ubuntu系统中下载并编译Android源代码.docx

上传人:b****5 文档编号:7437070 上传时间:2023-05-11 格式:DOCX 页数:7 大小:25.44KB
下载 相关 举报
Ubuntu系统中下载并编译Android源代码.docx_第1页
第1页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第2页
第2页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第3页
第3页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第4页
第4页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第5页
第5页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第6页
第6页 / 共7页
Ubuntu系统中下载并编译Android源代码.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Ubuntu系统中下载并编译Android源代码.docx

《Ubuntu系统中下载并编译Android源代码.docx》由会员分享,可在线阅读,更多相关《Ubuntu系统中下载并编译Android源代码.docx(7页珍藏版)》请在冰点文库上搜索。

Ubuntu系统中下载并编译Android源代码.docx

Ubuntu系统中下载并编译Android源代码

Ubuntu系统中下载并编译Android源代码

 

版本号:

1.0

制定日期:

11月9日

 

编制

陈东棋

日期

2010-11-27

审核

日期

批准

日期

文档修订记录

修订日期

修订内容

修订人

 

目录

1Ubuntu操作体统3

1.1Ubuntu操作系统简介3

1.2Ubuntu的几种安装方式3

1.3虚拟机中Ubuntu操作系统安装4

1.4Ubuntu操作系统配置5

2下载Android源码工具简介6

2.1Git的安装7

2.2repo的安装7

2.3下载Android源代码8

3Android源代码的编译8

4运行编译结果9

5总结10

 

1Ubuntu操作体统

1.1Ubuntu操作系统简介

Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图)。

Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。

Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

Ubuntu系统有其一些不同于其他Linux系统的特色,这儿不作详尽的介绍,如需要进一步了解可以访问网站

1.2Ubuntu的几种安装方式

对于操作系统的安装熟悉计算机的人必不陌生,基本就是那两种方式,直接装在硬盘里,或是先安装个虚拟机,然后在虚拟机里安装其他的操作系统。

直接安装到硬盘里这种方式对于Linux的初学者并不推荐,容易产生不当操作使硬盘数据受损。

所以还是推荐安装到虚拟机中,就能放心的摸索,探究。

而我这里特意又提出操作系统的安装方式当然不是为了炒冷饭,而是想介绍Ubuntu系统的另一特色:

Ubuntu8.04LTS在2008年04月24日最终发布,代号为HardyHeron的Ubuntu8.04正式发布的版本中包含了一个强大的功能:

首次为Linux操作系统增加Wubi安装功能,该功能的最大优势就是允许用户把Ubuntu8.04系统安装到Windows操作系统上,而不强制要求独立的硬盘分区。

Ubuntu不影响任何Windows操作系统设置,用户可以像卸载任何Windows应用程序一样卸载Ubuntu系统。

这项革命性的功能大大降低了新手安装Ubuntu的难度和风险,使得更多人有机会试用这一年轻的操作系统。

这种方式我也尝试了一下,只要下载一个wubi.exe运行就能安装了,基本就是一键安装的难度。

就是需要等的时间很长。

下面给出一个wubi.exe的下载地址,想要尝试一下的可以下下来试试。

1.3虚拟机中Ubuntu操作系统安装

上面介绍了Ubuntu系统的三种安装方式,不过我推荐的还是在虚拟机中安装,以下我将介绍我在虚拟机中安装Ubuntu系统的过程和经验。

首先是软件准备了,这里我的虚拟机用的是VMware6.5的,如果习惯用Virtualbox的这里我就不介绍了。

Ubuntu我用的是ubuntu-9.10-alternate-i386.iso的镜像,在教育网的ftp上下载的,速度还不错,这儿给出链接。

下面就是安装了。

启动虚拟机,选择新建虚拟机,新建的时候选择“自定义”,选择自己的配置,客户机操作系统选择Linux>Ubuntu,然后就是输入虚拟机名称,安装路径,选择处理器数量。

然后即使分配虚拟机内存了,Android的开源网上推荐的是1.5G内存,10G硬盘空间,如果允许的话就尽量分的大一点吧。

在选择虚拟机的网络连接的时候如果是校园网的内网的话就建议选择NAT类型的。

其他的配置也没有特别需要说明的了,一直下一步就好了。

虚拟机新建完了,然后就是真正的安装操作系统了,如果有安装盘的话可以从物理光驱安装,我这儿用的是ISO的镜像文件,点虚拟机>可移动设备>CD-ROM>编辑,然后找到镜像文件所在的路径,填入即可。

接着点击启动虚拟机即开始安装Ubuntu操作系统了。

安装的时候可以选择语言,有中文的,不过在这儿还是建议选择AmericanEnglish吧,因为可能以后在系统中会牵扯到各种配置什么的,要是遇到个不支持中文的,那麻烦又将会是一大堆。

安装过程中没什么好说的,就是等待,其中有几个要用户选择的就是键盘布局默认是美式键盘这儿不用管,时区根据自己的选择好就行了。

还有就是填写系统登录的用户名和密码了。

安装完成后重启系统就完成了。

1.4Ubuntu操作系统配置

安装完Ubuntu系统之后,我装的是9.10的,第一次启动系统的时候会提示升级,当然这个升级不是直接升级到最新的10.10,而是更新几个包。

这个就让它自己安装完就行了。

接下来就是为下载和编译源代码所作的配置环境的工作了,首先执行在终端中执行以下命令来安装几个包sudoapt-getinstallgccg++flexbisongperflibsdl1.2-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-devvalgrind这里就用到了sudo命令上面已经介绍过其功能,这儿就不赘述了。

注意,如果你装的是9.04版本的Ubuntu那么libsdl1.2-dev就要换成libsdl-dev。

然后再就是安装JDK了,这儿选用JDK5,不推荐用JDK6因为之后会出现不支持的状况吧(据网友说,没有考证)。

JDK的安装我这儿介绍两种方法,第一是从软件库中搜索然后在线安装,第二种是直接从sun的网站上下下来然后本地安装。

先说第一种,因为Ubuntu9.10中默认是没有JDK5的安装源的,所以需要先加上安装源:

1.debjauntymainrestricteduniversemultiverse

2.deb-srcjauntymainrestricteduniversemultiverse

3.debjaunty-updatesmainrestricteduniversemultiverse

4.deb-srcjaunty-updatesmainrestricteduniversemultiverse

5.debjaunty-backportsmainrestricteduniversemultiverse

6.deb-srcjaunty-backportsmainrestricteduniversemultiverse

7.debjaunty-securitymainrestricteduniversemultiverse

8.deb-srcjaunty-securitymainrestricteduniversemultiverse

安装源更新完之后,用sudoapt-getinstallsun-java5-jdk安装JDK5。

方法二:

直接从官方网站上下载到需要的jdk1.5.0_20linux版的,网站的链接为,平台选择为Linux,点击continue之后进入到选择文件的页面,这儿需要注意的就是,有两个文件

这儿需要选择第一个,因为我用的是Ubuntu,而第二个是适合RedHat的,rpm即为RedHatprogrammemanager。

下载完成之后就直接点击安装即可。

JDK安装完之后需要配置环境变量,比如我将jdk安装在了目录usr/java/jdk1.5.0_20下。

配置的时候在终端输入:

exportJAVA_HOME=/usr/java/jdk1.5.0_20

exportPATH=$PATH:

$JAVA_HOME/bin

exportCLASSPATH=$JAVA_HOME/lib

配置完之后在终端输入java–version查看JDK版本号,若能正常显示版本号即为JDK安装配置成功。

2下载Android源码工具简介

Git是LinuxTorvalds(Linux之父)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。

在集中式版本控制系统中只有一个仓库(Repository),许多个工作目录(WorkingCopy),而在Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNUArch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们支持离线工作,本地提交可以稍后提交到服务器上。

  因为Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多个项目组成,如果我们分别使用Git来逐个获取显得很麻烦,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得项目的获取更加简单。

  在Ubuntu9.10上安装Git只需要设定正确的更新源,然后使用apt-get就可以了,apt-get是一条Linux命令,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

下面就开始安装Git和repo。

2.1Git的安装

Git的安装很简单,只要一条命令就可以了sudoapt-getinstallgit-corecurl这条命令会从互联网的软件仓库中安装git-core和curl。

其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。

2.2repo的安装

在安装repo之前先新建一个目录

mkdirandroid

cdandroid

mkdirbin

cdbin

然后curlhttp:

//android.git.kernel.org/repo>repo这条命令就会将repo脚本同步到bin目录下,然后执行sudochmoda+xrepo修改repo的权限,repo的下载也完成了,建议为repo命令修改环境变量,在.bashrc文件中加入如下:

exportPATH=$PTAH:

~/android/bin/这样以后用repo命令的时候就不用加上它的全路径了。

接下来就是源代码的下载了。

2.3下载Android源代码

接上面的过程,输入命令cd..退回到目录android下,然后新建一个目录用来放置android的源代码

mkdirandroidsrc

cdandroidsrc进入到目录下,然后执行repo命令repoinit-ugit:

//android.git.kernel.org/platform/manifest.git这个命令用来初始化本地的版本库,这个过程完成之后会提示repoinitializedin/androidsrc字样。

接下来就是同步android源代码了,为什么要叫同步而不是下载呢,这个跟执行的命令有点关系,同步的命令是reposync,sync即为同步这个单词的缩写。

这条命令会把android的整体源代码都下载到电脑上,如果只想下载android代码的某个工程,则可以不适用repo命令,只需要git命令就行了,例如gitclonegit:

//android.git.kernel.org/kernel/common.git这个命令就可以下载到common这工程。

另外如果我们想拿某个分支版本的代码,而不是主线代码,需要使用-b参数指定branch的名字,比如:

repoinit–ugit:

//android.git.kernel.org/platform/manifest.git–bcupcake。

3Android源代码的编译

编译命令很简单,如果需要的包都安装好了的话,就可以直接在android源代码的目录下执行命令make就可以,android的源代码很多打,编译一次需要3-4个小时。

这个过程如果顺利的话没什么好说的,如果出错了,很大原因可能是需要的包没有装好,其他细节等大家遇到的时候慢慢解决吧。

这儿我要提出的就是单个android工程的编译方法,因为很多网络环境下我们可能会下载android整体源代码失败只能下到部分工程的,而且就算你下到了android的整体源代码,如果你对某一部分修改了之后要重新编译的话,如果不会编译某一个工程那势必要将整个代码都编译一次,那又得是3-4个小时,可见效率了。

所以下面我就借鉴一些网友的经验,提出一个编译单个工程的方法。

编译单个项目的方法如是在android源代码的根目录下执行下列命令:

    makeONE_SHOT_MAKEFILE=TARGET_PRODUCT=

   其中:

   

(1)module-name是所需要编译项目模块名称,这个名称是在项目的Android.mk文件中定义的,下面会说到;

   

(2)pathtoAndroid是指项目的Android.mk的路径,是相对于android源码根目录的相对路径;

   (3)product-name是产品名称。

   每个项目都有一个Android.mk文件,用于描述项目的模块名称、包含哪些源代码、项目编译结果的类型(动态链接库、静态链接库、可执行文件等)。

android就是通过find命令来查找整个源码树内所有Android.mk文件来完成编译的。

Android.mk文件的内容需要符合一定的语法规范。

NDK的文档中有一个文件ANDROID-MK.TXT对这个语法规范有描述,可以参考一下。

我用这个方法的时候出了个错,原因还是在于make命令提示不是可执行的命令,应该还是需要的包没有装好吧。

4运行编译结果

在编译完整个项目后,如果我们需要观看编译后的运行效果,那么就需要在系统中安装模拟器android-sdk-linux_x86-1.1_r1,这个SDK的下载地址为:

  linux:

  mac:

  windows:

  解压后需要把/usr/local/src/android-sdk-linux_x86-1.1_r1/tools目录加入到系统环境变量/etc/profile中。

  然后找到编译后android的目录文件out,我们发现在android/out/host/linux-x86/bin下多了很多应用程序,这些应用程序就是android得以运行的基础,所以我们需要把这个目录也添加到系统PATH下,在$HOME/.profile文件中加入如下内容:

  PATH=”$PATH:

$HOME/android/out/host/linux-x86/bin”

  接下来我们需要把android的镜像文件加载到emulator中,使得emulator可以看到android运行的实际效果,在$HOME/.profile文件中加入如下内容:

  ANDROID_PRODUCT_OUT=$HOME/android/out/target/product/generic

  exportANDROID_PRODUCT_OUT

  然后重新启动机器。

  下面就可以进入到模拟器目录中并启动模拟器

  cd$HOME/android/out/target/product/generic

  emulator-imagesystem.img-datauserdata.img-ramdiskramdisk.img

5总结

以上给出了在Ubuntu系统中从下载android源代码到编译运行的整个过程,其中本人只亲自执行到了下载的部分,因为网络原因问题而下不到android的整体源代码,后面的编译和运行部分是参考了很多网友的帖子之后给出的一些方法,所以截图也比较少,如果大家亲自去尝试的话希望能和我交流遇到的问题和细节部分。

参考文献

1

2

3

4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2