Android知识Android开发Android技术知识

Android杂谈:源码下载小结

2017-05-13  本文已影响263人  我在等你回复可你没回
景甜

Android源码下载都是老生常谈了,这个纯碎是纪录一下。

下载repo工具

repo其实就是一个能够下载多个git仓库的工具啦,是python写的一个脚本。为什么不直接用git呢?因为Android源码是由很多个仓库组成的,你不可能一个个去下吧?所以就诞生了repo工具,主要是解释一个xml文件,去下载仓库到特定目录。

mkdir ~/bin                //放置repo的目录
PATH=~/bin:$PATH     //将路径设置到环境变量中去
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo     //下载repo工具
chmod a+x ~/bin/repo   //改变工具权限,所有人都可以执行

repo解释xml文件

上面说到repo主要是用来解释xml文件的,那这个xml文件在哪里呢?我们把他下载下来。
下载路径就是这个
https://android.googlesource.com/platform/manifest/
哟,不就是一个git仓库吗? 哈哈,其实这个xml也是在一个git仓库里面。
你可以使用标准的git命令下载

git clone https://android.googlesource.com/platform/manifest

当然repo工具也可以下载这个仓库,-u是指定下载路径,-b是指定分支,下面命令指定了android-6.0.1_r1分支。

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

那这个仓库有些啥呀?,看看下图,其实就只有一个xml文件,囧。


仓库内容

看看xml文件都写了些啥玩意,可以看到里面有很多project,每个project就是一个仓库。repo会下载这些仓库。而仓库的分支就是由xml中的revision指定啦!下面的代码就是下载android-7.1.2_r11分支的代码啦。

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />
  <default revision="refs/tags/android-7.1.2_r11"
           remote="aosp"
           sync-j="4" />
  <project path="build" name="platform/build" groups="pdk" >
    <copyfile src="core/root.mk" dest="Makefile" />
  </project>
  <project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" />
  <project path="build/kati" name="platform/build/kati" groups="pdk,tradefed" />
.....

但由于国内google被墙原因,一般都下载不了~~
所以,只能找国内的镜像下载,清华有个镜像,真良心。
但我这边执行这个,就因为网络原因停了。

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.1_r1

原来是下载xml时,还会去下载repo的一些python脚本。下面这些

repo python 脚本
但repo的脚本地址是放在google服务器的。所以要修改repo的服务器地址。编辑 ~/bin/repo文件,把 REPO_URL 一行替换成下面的:
REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
参考:http://m.blog.csdn.net/article/details?id=51348647
这样我们就能跑去清华那里下载罗。

一些git仓库地址

google的都放在这里
https://android.googlesource.com

google Android仓库
清华的放在这里,丑哭了~
http://mirrors.ustc.edu.cn/aosp/platform/ 清华 Android仓库

下载

最后repo sync 就可以下载了!

总结

1.下载repo工具
2.repo init 可以下载一个xml文件和部分repo辅助工具,xml里面纪录着要下载的仓库和分支。
3.repo sync 完成下载。

上一篇下一篇

猜你喜欢

热点阅读