之前我是去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 sync

Once 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 sync

Finally, 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 sync

It'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代码的方法的更多相关文章

  1. 下载最新android adt的方法

    作为一名android开发人员,需要经常更新最新版本的 android adt,但是直接到官网去找很难找到下载的链接,通过下面现成的链接,你就能够直接下载最新的android adt了, 网址是:de ...

  2. repo 工具下载 以及 android代码下载【转】

    本文转载自:http://www.enjoydiy.com/608.html 我们可以从https://www.codeaurora.org/网站下载android源码. 具体方法如下: 下载repo ...

  3. 通过镜像下载最新Android源码

    参考了这两篇博客: http://blog.sina.com.cn/s/blog_70b9730f01016peg.html http://www.cnblogs.com/act262/p/41790 ...

  4. android代码格式化方法小结

    转载:http://blog.csdn.net/androidzhaoxiaogang/article/details/7692526 Download the android-formatting. ...

  5. Android代码混淆官方实现方法

    首先查看一下 “project.properties” 这个文件: # This file is automatically generated by Android Tools.# Do not m ...

  6. LINUX安装SVN+添加自动同步+远程下载最新代码

    LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...

  7. 将应用代码由eclipse导入Android studio的方法NDK-Build和Cmake两种方法(以android_serialport_api为例)

    网上翻了几百篇博客,看了半天,要不就是写的乱七八糟看不懂,要不就是隐藏了一些细节,要不就是实现不了,最后还是在Android官网上看明白了,而且说得有条有理,以后遇到不懂的一定要先翻官网. 参考资料: ...

  8. IntelliJ Idea 依赖包下载成功,代码里无法import问题解决方法

    今天clone一个github上的基于maven的项目IntelliJ Idea 依赖包下载成功,代码里无法import.解决方法:删掉原来的.iml,刷新. 如果不行,可尝试:File->In ...

  9. Android代码混淆及项目发布方法记录

     Android代码混淆及项目发布步骤记录 本来整理了一份Android项目混淆与发布的文档,突然想到何不写篇博客,分享一下呢,如是便有了本文. Android代码混淆及项目发布步骤记录 一.清理 ...

随机推荐

  1. 单独卸载vs2010帮助文档HelpView之后的独立安装教程

    由于本人的HelpView经常出错,一气之下卸载之,随后发现修复无用,安装提示“必须要在vs2010安装过程中才能安装”这不是坑爹吗.. 感谢网友Jason提供的方法,更简单. 安装程序选择(或控制面 ...

  2. android: 使用通知

    8.1   使用通知 通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向 用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现.发 ...

  3. 最近碰到了一个病毒木马:virus.win32.ramnit.B

    由于 使用了 简单游 平台上的挂机工具: 番茄-自动人机对战免费版1217  ,使用了很久,头段时间家里电脑 360提示有病毒,本来我一直忽略的,但 我扫描了一下,大量的这个木马,于是 吧 简单游卸载 ...

  4. hibernate spring annotation setup

    First step setup for the pom.xml with hibernate dependency , hibernate dependency need to before the ...

  5. Qt txt文本中获取字符串的问题

    QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...

  6. [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]

            <界面开发风AYUI-基于WPF By AY> 大家好! 距离上篇博客发布有10天了,因为我在开发AYUI4.X效果更惊艳 我是AY,很高兴,终于可以写自己的作品的,网络博 ...

  7. 10分钟掌握XML、JSON及其解析

    引言 NOKIA 有句著名的广告语:“科技以人为本”.任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌 ...

  8. 翻译--Blazing fast node.js: 10 performance tips from LinkedIn Mobile

    1.避免使用同步代码: // Good: write files asynchronously fs.writeFile('message.txt', 'Hello Node', function ( ...

  9. python在windows平台的pip安装package时的编译问题

    在安装pcapy时,出现以下错误: building 'pcapy' extension error: Microsoft Visual C++ 9.0 is required (Unable to ...

  10. Mac工具

    iterm2是一个替代终端和iTerm的后继项目.它支持 OS 10.5 或者更新版本.iterm2 提供更多你需要的功能和特点. Flashlight,快速且全面地显示所有「关键词」索引出的结果 参 ...