- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[免费]Ubuntu_[]下编译Android源码全过程(修订版)(DOC可编).doc
Ubuntu 10.04下编译Android源码全过程
一、Android源代码
Git是Linux Torvalds(Linux之父)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(Repository),许多个工作目录(Working Copy),而在Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们支持离线工作,本地提交可以稍后提交到服务器上。
?
因为Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多个项目组成,如果我们分别使用Git来逐个获取显得很麻烦,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得项目的获取更加简单。
?
在Ubuntu 10.04上安装Git只需要设定正确的更新源,然后使用apt-get就可以了,apt-get是一条Linux命令,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
?
sudo apt-get install git-core curl
?
这条命令会从互联网的软件仓库中安装git-core和curl。
?
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。
?
curl?/repo?~/bin/repo
?
这句命令会下载repo脚本文件到当前主目录的/bin目录下,并保存在文件repo中。
?
最后我们需要给repo文件可执行权限
?
chmod a+x ~/bin/repo
?
接下来我们就可以利用repo脚本和Git、curl软件获取Android的源代码了:)
?
首先建一个目录,比如~/android。
然后使用下面命令获取源码:
?
repo init –u git:///platform/manifest.git
?
这个过程会持续很长的时间(笔者下载了一天),下载完毕后会看到repo initialized in /android这样的提示,说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。
?
如果我们想拿某个分支版本的代码,而不是主线代码,需要使用-b参数指定branch的名字,比如:
?
repo init –u git:///platform/manifest.git –b cupcake
?
如果我们只是想获取某一个project的代码,比如kernel/common,就不需要repo脚本了,直接使用Git工具即可,如果仔细研究repo脚本会发现,repo脚本其实就是组织Git工具去获取各个Project并把它们组织到同一个项目Android内。
?
git clone git:///kernel/common.git
?
我们上面使用repo脚本获取了各个项目,那么接下来就需要把整个Android代码树同步到本地,如下:
?
repo sync project1 project2 …
?
笔者使用repo sync命令直接同步全部项目到本地。
?
二、
?
全部同步完毕后,进入到Android目录下,使用make命令编译,你会发现出现如下错误提示:
?
host C: libneo_cgi = external/clearsilver/cgi/cgi.c?external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory
?
这个错误是因为我们缺少zliblg-dev,需要使用apt-get命令从软件仓库中安装,如下:
?
sudo apt-get install zliblg-dev
?
同理,我们还需要依次安装如下软件
?
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install libsdl-dev
sudo apt-get install libesd0-dev
sudo apt-get install libncurses5-dev
sudo apt-get install libx11
您可能关注的文档
- zmj湖心亭看雪.ppt
- zmj经典素材.ppt
- ZPS矿用声控自动洒水降尘装置使用说明书(DOC可编).doc
- zuitu商业版最土团购程序模板结构详细说明(DOC可编).doc
- zw材料大全(DOC可编).doc
- zx((劳动密集型产品出口所面临的市场风险分析(DOC可编).doc
- ZXJ现场更换MP操作规范(DOC可编).doc
- ZXRZSR智能集成多业务路由器(DOC可编).doc
- zx社会主义建设在探索中曲折前进.ppt
- Zymlsc雅思基础阅读难句随身卡(DOC可编).doc
- [养生文化]按摩自身五个部位可添寿,免费,在观赏短片中增添些简便实用的保健知识,与喜爱的朋友分享。.ppt
- [创业]开小商店月赚万(DOC可编).doc
- [创意设计]有了它,你的大腿再也不会麻了(DOC可编).doc
- [动物营养与饲料学课件].ppt
- [原创]《随堂优化训练》历史人教版九级(上册)第四单元第课“蒸汽时代”的到来配套课件.ppt
- [原创]《随堂优化训练》数学_人教版_七级上册_第三章_章末巩固复习专题_配套课件.ppt
- [原创]聪明的服装店主要让顾客有名人感觉(DOC可编).doc
- [名校联盟]广东省东莞市厚街开贤学校九级语文《应有格物致知精神》课件.ppt
- [名校联盟]河南省郸城县光明中学九级数学下册课件:实践与探索.ppt
- [名校联盟]浙江省杭州市萧山九中届高三六、八、九三校月联考理科综合试题(DOC可编).doc
文档评论(0)