在Ubuntu系统中下载Android源码

做Android开发,通常来说我们指的是做应用层的开发,也就是做App的。对于这部分开发者来说,一个Windows系统+JDK环境+Android Studio就足够了。而实际上从广义的范围来讲,还有一部分人,他们同样做的是Android平台的工作,但做的并不是App层面的开发,而是Framework层的开发,这个时候就不是一个IDE就能搞定了,你需要下载Android系统的源码进行研究才行。

什么样的人需要下载Android源码?

如果你不满足于App层面的开发工作,而是想对Android系统进行更加深入的研究,想要了解Android系统的一些工作机制,想要知道某个系统的接口到底是如何实现的,想要对系统进行一些修改,甚至想要自己做一个ROM,那么下载源码就是必须的选择。

如何下载Android源码?

首先,我要对系统进行限定。Google官方文档推荐的Android源码编译环境是最新的Ubuntu LTS版本(目前是14.04),所以凡是要编译Android源码的朋友,下载源码也尽量在这个环境下操作。另外,一般来说想要做Android底层开发的人,应该会熟悉Linux系统的基本操作吧?不熟的话还是先去了解一下。

其实对于源码下载,Google已经有了官方指导,详情可以参加http://source.android.com/source/downloading.html。这篇文章,实际上也正是遵循着官方的指导来进行操作的。如果你的英语阅读能力还算可以,那么也可以直接根据官方指导来下载源码。英语水平低怎么办?那就看我的文章吧^_^

安装curl、git和Repo

Curl是一个利用URL语法在命令行下进行文件操作的工具,在这里它的作用就在于,协助安装Repo。而大名鼎鼎的git则是当下最为流行的分布式版本控制系统,由Linux之父Linus Torvalds开发。至于Repo,则是Google专门为管理Android源码开发的一个封装了大量git命令的工具。

安装这些工具都非常简单,基本上几条命令就能解决问题了。

Curl的安装:

Git的安装:

之后就是Repo的安装:

至此,准备工作就已经完成了,接下来就是真正的下载Android源码了。

Android源码的下载

先创建一个用来下载源码的目录:

我个人创建的目录是Android5.1.1_r8

如果想要获取最新的Android源码,则需要执行如下命令:

而如果你目标明确,已经很清楚自己想下载哪个版本的Android源码,那么也可以执行初始化一个确定的版本(我选择的是截至目前2015.7.23之时,最新的正式版本——5.1.1_r8,当然你可以考虑下载更新的Android M Preview版本):

如果是第一次使用git,那么可能会遇到这样的问题——GitError:manifests var:Please tell me who you are.

GitError:Please tell me who you are

这是因为你第一次在这个系统中使用git,还没有相应的个人信息,解决办法其实也已经直接告诉你了,就是执行2句命令。

注意把引号中分别换成你的邮箱和名字就行了。

初始化结束后,执行repo sync,就可以开始下载Android源码了。这个过程会比较漫长,印象中我下载Android 5.1.1的源码用了10几个小时吧,一共下载了大概20多G的样子。中途如果网络断了,只要再次执行repo sync就可以继续下载了,这是一个考验你耐心的工作,哈哈。

开始用repo下载Android源码

另外,由于众所周知的原因,国内的网络环境并不是很顺畅,所以想要进行以上各种操作,最好还是要有自己的上网工具。在这里呢,我就不做什么推荐了,我也害怕推荐的人多了,工具就被和谐了啊……代码下载结束后,当然就是要编译了,而要编译Android源码,编译环境的搭建也是必不可少的。

PS:这篇文章介绍的是最正统的从Google源码网站下载Android系统源码,如果有的朋友不具备这样的网络条件,我也可以考虑把源码上传到网盘分享给大家……

后记:经过2天的下载,终于把源码下载完了,一共是34G……所以这真的很考验你的电脑和网络,也非常考验你的耐心:

Android源码下载完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值