下载最新Android代码的方法
之前我是去Android官方网站下载最新Android代码,但是这种方法需要翻墙,而且有时候翻墙又不太方便,今天我发现一个不错的网站,是清华大学搞的,跟Android官方的代码基本保持同步,而且下载方法跟Android官方的也类似。下面是网站地址:
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
下面我简单介绍一下几种下载方法:
准备工作
方法一
- 下载repo工具
1: mkdir ~/bin
2: PATH=~/bin:$PATH
3: curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
4: chmod a+x ~/bin/repo
- 建立工作目录
1: mkdir WORKING_DIRECTORY
2: cd WORKING_DIRECTORY
- 初始化仓库
1: repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
2: ## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
3: REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
- 同步源码树
1: repo sync
方法二 建立本地镜像
重点说一下这种方法,这种方法首先在本地建立一个Andriod代码的镜像,第一次需要下载大量的代码(我的占了120GB左右的空间),然后执行类似方法一,不过这次的Android代码源是在本地,所以速度很快。以后更新的时候,先更新本地Andriod代码镜像,再更新Android代码。我用的就是这种方法,我的代码镜像是翻墙的时候从Android官方下载的,所以每次更新Android代码镜像的时候都需要翻墙,不方便。
步骤:
- 下载
repo
工具和建立工作目录 (参照方法一)
这里需要修改一下repo工具:
将
1: REPO_URL = 'https://gerrit.googlesource.com/git-repo'
修改为:
1: REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
- 初始化
1: repo init -u https://aosp.tuna.tsinghua.edu.cn/mirror/manifest --mirror
- 同步源码树
1: repo sync
然后,就可以从本地sync代码了:
1: repo init -u WORKING_DIR/mirror/platform/manifest.git
2: repo sync
下面是Android官方的说明:
Using a local mirror
When using several clients, especially in situations where bandwidth is scarce, it is better to create a local mirror of the entire server content, and to sync clients from that mirror (which requires no network access). The download for a full mirror is smaller than the download of two clients, while containing more information.
These instructions assume that the mirror is created in /usr/local/aosp/mirror. The first step is to create and sync the mirror itself. Notice the --mirror flag, which can be specified only when creating a new client:
$ mkdir -p /usr/local/aosp/mirror
$ cd /usr/local/aosp/mirror
$ repo init -u https://android.googlesource.com/mirror/manifest --mirror
$ repo syncOnce the mirror is synced, new clients can be created from it. Note that it's important to specify an absolute path:
$ mkdir -p /usr/local/aosp/master
$ cd /usr/local/aosp/master
$ repo init -u /usr/local/aosp/mirror/platform/manifest.git
$ repo syncFinally, to sync a client against the server, the mirror needs to be synced against the server, then the client against the mirror:
$ cd /usr/local/aosp/mirror
$ repo sync
$ cd /usr/local/aosp/master
$ repo syncIt's possible to store the mirror on a LAN server and to access it over NFS, SSH or Git. It's also possible to store it on a removable drive and to pass that drive around between users or between machines.
更新本地Android镜像
由于我最初的Android镜像来自Android官方,需要翻墙,所以需要作如下修改:
如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后),你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要将 .repo/manifest.xml
把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com
改为 https://aosp.tuna.tsinghua.edu.cn/
或 git://aosp.tuna.tsinghua.edu.cn/aosp
。
1: <manifest>
2:
3: <remote name="aosp"
4: - fetch="https://android.googlesource.com"
5: + fetch="https://aosp.tuna.tsinghua.edu.cn" 或 "git://aosp.tuna.tsinghua.edu.cn/aosp"
6: review="android-review.googlesource.com" />
7:
8: <remote name="github"
同时,修改 .repo/manifests.git/config
,将
1: url = https://android.googlesource.com/platform/manifest
更改为
1: url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
2: # 或 url = git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest
完。
下载最新Android代码的方法的更多相关文章
- 下载最新android adt的方法
作为一名android开发人员,需要经常更新最新版本的 android adt,但是直接到官网去找很难找到下载的链接,通过下面现成的链接,你就能够直接下载最新的android adt了, 网址是:de ...
- repo 工具下载 以及 android代码下载【转】
本文转载自:http://www.enjoydiy.com/608.html 我们可以从https://www.codeaurora.org/网站下载android源码. 具体方法如下: 下载repo ...
- 通过镜像下载最新Android源码
参考了这两篇博客: http://blog.sina.com.cn/s/blog_70b9730f01016peg.html http://www.cnblogs.com/act262/p/41790 ...
- android代码格式化方法小结
转载:http://blog.csdn.net/androidzhaoxiaogang/article/details/7692526 Download the android-formatting. ...
- Android代码混淆官方实现方法
首先查看一下 “project.properties” 这个文件: # This file is automatically generated by Android Tools.# Do not m ...
- LINUX安装SVN+添加自动同步+远程下载最新代码
LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...
- 将应用代码由eclipse导入Android studio的方法NDK-Build和Cmake两种方法(以android_serialport_api为例)
网上翻了几百篇博客,看了半天,要不就是写的乱七八糟看不懂,要不就是隐藏了一些细节,要不就是实现不了,最后还是在Android官网上看明白了,而且说得有条有理,以后遇到不懂的一定要先翻官网. 参考资料: ...
- IntelliJ Idea 依赖包下载成功,代码里无法import问题解决方法
今天clone一个github上的基于maven的项目IntelliJ Idea 依赖包下载成功,代码里无法import.解决方法:删掉原来的.iml,刷新. 如果不行,可尝试:File->In ...
- Android代码混淆及项目发布方法记录
Android代码混淆及项目发布步骤记录 本来整理了一份Android项目混淆与发布的文档,突然想到何不写篇博客,分享一下呢,如是便有了本文. Android代码混淆及项目发布步骤记录 一.清理 ...
随机推荐
- ES5 数组方法reduce
reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值. 参数 callback 执行数组中每个值的函数,包含四个参数 previou ...
- mysql 修改root登录密码
mysql -u root -p 然后回车,进入(等于用空密码进入) 2 use mysql; update user set password=password('123456') where us ...
- Code Consultation
Need help architecting or coding your application? You can get technical help with building applicat ...
- latextools \cite 自动补全
最近在用latex写毕业论文,编辑环境用的是Sublime Text 2 加 latextools 插件,在使用latextools的\cite命令来引用参考文献时,我们希望输入\cite{ 后自动弹 ...
- XML 和 List 互转类
XML 和 List 互转类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- drupal7安装中文错误
安装中文错误 星期四, 07/04/2013 - 15:06 — tao_3000 更多0 An AJAX HTTP error occurred. HTTP Result Code: 200 Deb ...
- PyCharm 134 单元测试输出大量空行解决方案
在某次BugFix中,某哥们儿在/helper/pycharm/tcunittest.py加了个这: 各位亲们可以把True改为False即可解决大量空行的问题.
- C#代理那点事儿
Func代理是啥? Func代理接收0个或多个参数,返回TResult值: 以Func<TSource, TResult>为例:Func带来封装一个方法,该方法接收一个参数,然会一个TRe ...
- Rxlifecycle(三):坑
坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...
- 关于MySQL redo log,挖些坑,慢慢填
1. 为什么可以设置为多个redo log ? (innodb_log_files_in_group,默认值和推荐值都是2,我们线上设的统一为4): 2. 什么条件下会触发刷脏?除了master_th ...