Ubuntu14.04系统下载Google Android源码方法

自己一步一步来的,现在已经成功拉到代码啦。^_^

操作系统:Ubuntu14.04

需要提前准备的工具:git,repo,相关的lib包,一定要有网

所有的操作都是在ubuntu的命令终端中进行的。

实现步骤:

1. 打开命令终端,找不到或者不知道快捷键的,请点击屏幕左上角的第一个图标,再弹出框输入关键字搜索(英文环境输入“Terminal“,中文环境输入“终端“)。

Ubuntu14.04系统下载Google Android源码方法_第1张图片

2. 安装repo。在终端中使用sudo apt-get install repo命令安装repo软件。

3. 安装git。

安好repo后如果直接使用repo来拉取代码可能会报错:

Ubuntu14.04系统下载Google Android源码方法_第2张图片

那么需要再安装一个git工具(这个工具可以用来检查本地代码是否改动,查看具体改动以及提交代码,这里不扯了)。在命令行中使用sudo apt-get install git来安装git,

使用sudo的原因是不是root的用户没有权限使用这个命令。这时候需要输入你的用户密码,然后就开始安装了:

Ubuntu14.04系统下载Google Android源码方法_第3张图片

在安装过程中可能一次通过,也可能会报错。一般是需要一些依赖的lib库文件。如果下载git失败的话可以尝试下列命令来更新lib:sudo apt-get update

Ubuntu14.04系统下载Google Android源码方法_第4张图片

完成过后再执行一遍sudo apt-get install git一般就可以了。

4. 使用repo命令拉取google服务器上面的代码,在终端中进入你新建的代码的空白目录,然后依次执行下面命令。就两个:

repo init -u https://android.googlesource.com/platform/manifest

repo sync

1)第一条是获取目前最新的软件版本的代码,执行完了再执行第二条就可以更新该项目全部的代码。

如果想特别拉某一个版本的代码,那么就在manifest后面使用 -b 参数加上你想拉的项目名。比如我想拉android-6.0.0_r1的,第一条就换成:

repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.0_r1

然后再执行repo sync命令

2)如果觉得全部代码太大(加起来有几十个G,比魔兽世界大多了),为了节约时间,或者你只对某一个模块感兴趣,那么可以只拉取某个模块的。

比如你想看关于蓝牙(Bluetooth)的源码,那么就打开你刚才在终端创建的项目的目录,执行了repo init命令后会生成一个名为.repo的文件。

使用ls -al命令可以找到它。使用gedit .repo/manifest.xml命令来查看它的内容,然后搜索关键字bluetooth:

Ubuntu14.04系统下载Google Android源码方法_第5张图片

可以看到查询出来的bluetooth的分支全名是path="packages/apps/Bluetooth"。

然后回到终端,在刚才repo sync后面加上这个path的全名就可以拉取了:

repo sync packages/apps/Bluetooth

5. 对于大陆的网络,而且是未使用VPN,自己的电脑无法访问到google官网的,上面第4点就执行不了了。会卡在repo init的地方,然后提示连接超时。

Getting manifest ...
   from https://android.googlesource.com/platform/manifest
fatal: unable to access 'https://android.googlesource.com/platform/manifest/': Failed to connect to android.googlesource.com port 443: Connection timed out

网上有朋友说修改/etc/hosts文件,将google服务器的网址和相关IP加入其中,我试了一下,没有用。

这种情况我们可以使用google代码的镜像网站omapzoom(http://git.omapzoom.org/)来拉取android项目源码。具体做法是:

1)修改repo init命令,将后面的服务器名由google替换成omapzoom:

repo init -u git://git.omapzoom.org/platform/manifest -b android-6.0.0_r1

这时候再执行repo sync命令还是会失败!因为下载下来的manifest文件中仍然是默认以google作为代码源的。

2)修改manifest文件。使用gedit .repo/manifest.xml命令打开manifest文件,找到顶部设置服务器的地方,就是fetch的属性值,将其设置为omapzoom的网址:

  
然后保存该文件,回到命令终端,重新使用 repo sync命令或者 repo sync packages/apps/Bluetooth就可以了。


注意:如果执行完一次repo init失败后,再次执行repo init可能会失败的!因为每次执行repo init命令都会在当前目录下生成一个.repo文件夹,该文件夹是隐藏的!

正确做法是:如果要再当前目录重新设置服务器源拉取代码,必须使用rm -rf .repo命令删除这个隐藏的.repo文件夹,然后再使用repo init才会成功!

你可能感兴趣的:(Android,android,ubuntu,git,谷歌,源码)