免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1060 | 回复: 0
打印 上一主题 下一主题

获取Android 源代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览

获取Android 源代码

本文档将描述如何设置你本地的工作环境,如何使用repo获取Android源代码,以及如何在你本地的机子上编译Android源代码。

相关阅读:

关于完整的代码评审和代码更新流程概述的相关内容见“补丁的生命周期”一节。

关于repo的相关细节内容见“repogit的使用”一节。

源代码中包含了哪些内容?

通过访问http://android.git.kernel.org/ 网页接口可以看到源代码的快照和历史记录都在该Android的公共仓库中。

源代码的大小大概在2.1G左右。同时,要完成整个编译工作必须保证留有6G左右的剩余空间。

配置你的机子

为了编译Android源代码,必须使用Linux或者Mac Os操作系统。目前尚不支持Windows下的编译工作。

Linux

Android的编译工作通常是在Ubuntu的最近版本(6.06或更新版本)下进行测试的。同时,欢迎提交其他发行版下编译的相关测试报告,无论是成功还是失败的。

Ubuntu Linux 32x86

为了成功安装Linux下的开发环境,请确信你已安装以下内容:

相关的必需包

Git 1.5.4 或者 更新以及GNU Privacy Guard

JDK 5.0update 12 或者 更新。由于不兼容@Override,所以java 6 并不支持。

flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl等相关包。


$ sudo aptitude install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev


你也可以安装Valgrind,该工具可以帮助你查找内存泄漏,堆栈的非法访问以及数组越界等问题。


$ sudo aptitude install valgrind


Intrepid8.10)版本的用户必须安装更新版本的libreadline


$ sudo aptitude install lib32readline5-dev


Ubuntu Linux 64x86

64位下并没有完全很好的测试。请发送相关的成功或失败的报告到android-porting@googlegroups.com

64位下Android的编译工作需要32位的编译环境,同时还需要另外的一些工具:

相关的必需包

Git, JDK, flex 等其他上面所列的在32位机子上所需的包。

JDK 5.0update 12 或者 更新。由于不兼容@Override,所以java 6 并不支持。

32位交叉编译环境

x11开发包


$ sudo aptitude install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev


设置系统中默认的java版本


$ sudo update-java-alternatives -s java-1.5.0-sun


x11Ubuntu中没有x11库的相关包,但是通过以下的命令链接同样也可以工作:


$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so


安装repo

repo是一种能够在Android环境中更加容易的使用git的版本控制管理工具,更多关于repo的信息请参见“repogit的使用”一节。

为完成repo的安装,初始化以及配置工作,请遵循以下步骤:

1、在新建一目录用来存放下载的repo工具,并添加该路径到path环境变量中

$ cd ~

$ mkdir android/bin

$ vim .bashrc

.bashrc文件的末尾加入如下内容:

HOME_BIN=~/android/bin/


export PATH=${PATH}:${HOME_BIN}

$ source .bashrc (使环境变量的设置立即生效,即同步变化)

$ cd android/


2、下载安装repo并更改权限

$ curl http://android.git.kernel.org/repo > ./bin/repo

$ chmod a+x ./bin/repo


初始化repo客户端

1、创建一个空目录用来存放下载的Android文件

$ cd ~/android/

$ mkdir androidplatform

$ cd androidplatform/


2、运行repo init 命令 来修正最近的bug,必须跟上URL

$ repo init -u git://android.git.kernel.org/platform/manifest.git

如果想获取某个分支而不是主线上的代码,需要使用 -b参数并指定分支名即可,比如: $ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake


3当出现提示时,输入你的真实姓名和email地址。如果你打算提交(贡献)代码的话,请使用与谷歌帐号相关的email地址。

完成后会看到 repo initialized in /android/androidplatform类似的提示。

这时在你的工作目录下即可看到.repo隐藏目录,里面包含了诸如manifest之类的文件以及子目录。


姓名和email地址是用来干什么的?

为了使用Gerrit工具(是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目。【1】),你需要使用email地址来进行联系。并不一定要Gmail地址,只要确保使用该email地址你能收到信息即可。在你贡献代码的时候,将用到你的真实姓名。

什么是manifest文件?

Android源代码被放在很多不同的仓库中。而manifest文件包含了仓库中文件的映射关系,当同步文件的时候,该文件可以决定仓库中的哪些文件将被同步(下载)下来到你的工作目录中。


同步版本库(下载文件)

使用repo sync命令,可以将Android的整个代码树同步到本地

$ repo sync


这个下载过程比较久,请慢慢等吧……
更多关于repo命令的使用细节请参见repogit的使用”一节。



1http://www.oschina.net/p/gerrit






































您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP