Android 5.1源码开放有一个多月啦,但由于城墙的关系,每次想着更新最新源码学习都万般纠结,现在发现国内有开源镜像啦,这就好多啦,感谢清华开源工作团队的无私工作啊。

地址:https://aosp.tuna.tsinghua.edu.cn/

根据页面上的介绍,该镜像只支持源码sync,不支持sdk更新。

  • AOSP 镜像服务单 IP 并发数限制为 4。因版权原因,我们无法提供 Android SDK 镜像

可以看一下他给出的使用帮助https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/android

因为我本地已经安装好了repo工具,所以直接根据使用帮助里面介绍的repo init,然后repo sync就可以了。

下面介绍一下具体的步骤:

安装repo工具

repo需要安装最新版本的,如果已经像我一样之前有安装的,可以略过此步。

官方给出的repo下载如下:

curl https://storage.googleapis.com/git-repo-downloads/repo

但已经被X啦,国内搞不下来,可以从清华镜像clone下来,需要实现安装好git,如下:

git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/

这样就会在当前目录下下载到git-repo目录里,将repo文件copy到~/bin/目录下,并修改可执行权限即可

repo init

新建存放源码的目录,我这里为 aosp目录,然后cd进入aosp目录,使用repo init目录来初始化仓库。

google官方给出的sync最新源码的命令为:

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

如果不想获取到最新,只想得到某个指定版本,就需要多加一个-b参数,然后跟具体release版本名

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

可惜国内同样不能用啦,我们要做的就是把-u参数修改为TUNA(清华镜像)的,如下:

repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.0_r3

这里再扩展介绍一下 -b参数的获取,android版本号实在是太多啦,不仅andriod 4.0 5.0的,还有小版本r1 r2,怎么才能搞到正确的分支名呢,而且指定的分支名还需要你的更新源上得有的,通过下面的方式:

cd ~git clone git://aosp.tuna.tsinghua.edu.cn/android/platform/manifestcd manifestgit branch -a

这样就会列出清华镜像上aosp所有的分支名啦,从中找到你想要的即可

* master  remotes/origin/HEAD -> origin/master  remotes/origin/adt_23.0.3  remotes/origin/android-1.6_r1  remotes/origin/android-1.6_r1.1  remotes/origin/android-1.6_r1.2  remotes/origin/android-1.6_r1.3  remotes/origin/android-1.6_r1.4  remotes/origin/android-1.6_r1.5  remotes/origin/android-1.6_r2  remotes/origin/android-2.0.1_r1  remotes/origin/android-2.0_r1  remotes/origin/android-2.1_r1  remotes/origin/android-2.1_r2  remotes/origin/android-2.1_r2.1p  remotes/origin/android-2.1_r2.1p2  remotes/origin/android-2.1_r2.1s  remotes/origin/android-2.2.1_r1  remotes/origin/android-2.2.1_r2  remotes/origin/android-2.2.2_r1  remotes/origin/android-2.2.3_r1  remotes/origin/android-2.2.3_r2  remotes/origin/android-2.2.3_r2.1  remotes/origin/android-2.2_r1  remotes/origin/android-2.2_r1.1  remotes/origin/android-2.2_r1.2  remotes/origin/android-2.2_r1.3  remotes/origin/android-2.3.1_r1  remotes/origin/android-2.3.2_r1  remotes/origin/android-2.3.3_r1  remotes/origin/android-2.3.3_r1.1  remotes/origin/android-2.3.4_r0.9  remotes/origin/android-2.3.4_r1  remotes/origin/android-2.3.5_r1  remotes/origin/android-2.3.6_r0.9  remotes/origin/android-2.3.6_r1  remotes/origin/android-2.3.7_r1  remotes/origin/android-2.3_r1  remotes/origin/android-4.0.1_r1  remotes/origin/android-4.0.1_r1.1  remotes/origin/android-4.0.1_r1.2  remotes/origin/android-4.0.2_r1  remotes/origin/android-4.0.3_r1  remotes/origin/android-4.0.3_r1.1  remotes/origin/android-4.0.4_r1  remotes/origin/android-4.0.4_r1.1  remotes/origin/android-4.0.4_r1.2  remotes/origin/android-4.0.4_r2  remotes/origin/android-4.0.4_r2.1  remotes/origin/android-4.1.1_r1  remotes/origin/android-4.1.1_r1.1  remotes/origin/android-4.1.1_r2  remotes/origin/android-4.1.1_r3  remotes/origin/android-4.1.1_r4  remotes/origin/android-4.1.1_r5  remotes/origin/android-4.1.1_r6  remotes/origin/android-4.1.1_r6.1  remotes/origin/android-4.1.2_r1  remotes/origin/android-4.1.2_r2  remotes/origin/android-4.1.2_r2.1  remotes/origin/android-4.2.1_r1  remotes/origin/android-4.2.1_r1.1  remotes/origin/android-4.2.1_r1.2  remotes/origin/android-4.2.2_r1  remotes/origin/android-4.2.2_r1.1  remotes/origin/android-4.2.2_r1.2  remotes/origin/android-4.2.2_r1.2b  remotes/origin/android-4.2_r1  remotes/origin/android-4.3.1_r1  remotes/origin/android-4.3_r0.9  remotes/origin/android-4.3_r0.9.1  remotes/origin/android-4.3_r1  remotes/origin/android-4.3_r1.1  remotes/origin/android-4.3_r2  remotes/origin/android-4.3_r2.1  remotes/origin/android-4.3_r2.2  remotes/origin/android-4.3_r2.2-cts  remotes/origin/android-4.3_r2.3  remotes/origin/android-4.3_r3  remotes/origin/android-4.3_r3.1  remotes/origin/android-4.4.1_r1  remotes/origin/android-4.4.1_r1.0.1  remotes/origin/android-4.4.2_r1  remotes/origin/android-4.4.2_r1.0.1  remotes/origin/android-4.4.2_r2  remotes/origin/android-4.4.2_r2.0.1  remotes/origin/android-4.4.3_r1  remotes/origin/android-4.4.3_r1.0.1  remotes/origin/android-4.4.3_r1.1  remotes/origin/android-4.4.3_r1.1.0.1  remotes/origin/android-4.4.4_r1  remotes/origin/android-4.4.4_r1.0.1  remotes/origin/android-4.4.4_r2  remotes/origin/android-4.4.4_r2.0.1  remotes/origin/android-4.4_r1  remotes/origin/android-4.4_r1.0.1  remotes/origin/android-4.4_r1.1  remotes/origin/android-4.4_r1.1.0.1  remotes/origin/android-4.4_r1.2  remotes/origin/android-4.4_r1.2.0.1  remotes/origin/android-4.4w_r1  remotes/origin/android-5.0.0_r1  remotes/origin/android-5.0.0_r1.0.1  remotes/origin/android-5.0.0_r2  remotes/origin/android-5.0.0_r2.0.1  remotes/origin/android-5.0.0_r3  remotes/origin/android-5.0.0_r3.0.1  remotes/origin/android-5.0.0_r4  remotes/origin/android-5.0.0_r4.0.1  remotes/origin/android-5.0.0_r5  remotes/origin/android-5.0.0_r5.0.1  remotes/origin/android-5.0.0_r5.1  remotes/origin/android-5.0.0_r5.1.0.1  remotes/origin/android-5.0.0_r6  remotes/origin/android-5.0.0_r6.0.1  remotes/origin/android-5.0.0_r7  remotes/origin/android-5.0.0_r7.0.1  remotes/origin/android-5.0.1_r1  remotes/origin/android-5.0.2_r1  remotes/origin/android-5.0.2_r3  remotes/origin/android-5.1.0_r1  remotes/origin/android-5.1.0_r3  remotes/origin/android-5.1.0_r4  remotes/origin/android-5.1.0_r5  remotes/origin/android-5.1.1_r1  remotes/origin/android-5.1.1_r2 remotes/origin/android-5.1.1_r3  remotes/origin/android-cts-2.2_r8  remotes/origin/android-cts-2.3_r10  remotes/origin/android-cts-2.3_r11  remotes/origin/android-cts-2.3_r12  remotes/origin/android-cts-4.0.3_r1  remotes/origin/android-cts-4.0.3_r2  remotes/origin/android-cts-4.0_r1  remotes/origin/android-cts-4.1_r1  remotes/origin/android-cts-4.1_r2  remotes/origin/android-cts-4.1_r4  remotes/origin/android-cts-4.2_r2  remotes/origin/android-cts-5.0_r2  remotes/origin/android-cts-5.1_r1  remotes/origin/android-cts-verifier-4.0.3_r1  remotes/origin/android-cts-verifier-4.0_r1  remotes/origin/android-l-preview_r2  remotes/origin/android-sdk-4.0.3-tools_r1  remotes/origin/android-sdk-4.0.3_r1  remotes/origin/android-sdk-4.4.2_r1  remotes/origin/android-sdk-4.4.2_r1.0.1  remotes/origin/android-sdk-adt_r16.0.1  remotes/origin/android-sdk-adt_r20  remotes/origin/android-sdk-support_r11  remotes/origin/android-support-test  remotes/origin/android-tsl-2.0  remotes/origin/android-wear-5.0.0_r1  remotes/origin/chromium-dev  remotes/origin/droiddriver-dev  remotes/origin/froyo  remotes/origin/gingerbread  remotes/origin/gingerbread-release  remotes/origin/gradle-dev  remotes/origin/gradle_0.12.2  remotes/origin/gradle_0.13.0  remotes/origin/gradle_0.13.1  remotes/origin/gradle_0.13.2  remotes/origin/gradle_0.13.3  remotes/origin/gradle_0.14.0  remotes/origin/gradle_0.14.1  remotes/origin/gradle_0.14.2  remotes/origin/gradle_0.14.3  remotes/origin/gradle_0.14.4  remotes/origin/gradle_1.0.0  remotes/origin/gradle_1.0.0-rc1  remotes/origin/gradle_1.0.0-rc2  remotes/origin/gradle_1.0.0-rc3  remotes/origin/gradle_1.0.0-rc4  remotes/origin/gradle_1.0.1  remotes/origin/gradle_1.1.0  remotes/origin/gradle_1.1.0-rc1  remotes/origin/gradle_1.1.0-rc2  remotes/origin/gradle_1.1.0-rc3  remotes/origin/gradle_1.1.1  remotes/origin/gradle_1.1.2  remotes/origin/gradle_1.1.3  remotes/origin/gradle_1.2.0  remotes/origin/gradle_1.2.0-beta1  remotes/origin/gradle_1.2.0-rc1  remotes/origin/gradle_1.2.1  remotes/origin/gradle_1.2.2  remotes/origin/gradle_1.2.3  remotes/origin/ics-mr0  remotes/origin/ics-mr1  remotes/origin/ics-plus-aosp  remotes/origin/idea133  remotes/origin/idea133-weekly-release  remotes/origin/jb-dev  remotes/origin/jb-mr1-dev  remotes/origin/jb-mr1-dev-plus-aosp  remotes/origin/jb-mr1.1-dev  remotes/origin/jb-mr1.1-dev-plus-aosp  remotes/origin/jb-mr2-cts-dev  remotes/origin/jb-mr2-dev  remotes/origin/jumper-stable  remotes/origin/kitkat-cts-dev  remotes/origin/kitkat-dev  remotes/origin/l-preview  remotes/origin/lollipop-cts-dev  remotes/origin/lollipop-dev  remotes/origin/lollipop-mr1-cts-dev  remotes/origin/lollipop-mr1-dev  remotes/origin/master  remotes/origin/master-art  remotes/origin/master-art-host  remotes/origin/master-dalvik  remotes/origin/master-dalvik-host  remotes/origin/master-soong  remotes/origin/ref/for/master  remotes/origin/studio-1.0-dev  remotes/origin/studio-1.0-release  remotes/origin/studio-1.1-dev  remotes/origin/studio-1.1-release  remotes/origin/studio-1.2-dev  remotes/origin/studio-1.2-release  remotes/origin/studio-1.3-dev  remotes/origin/studio-1.3-release  remotes/origin/studio-master-dev  remotes/origin/studio-master-release  remotes/origin/studio_0.8.6  remotes/origin/studio_1.0.0  remotes/origin/studio_1.0.1  remotes/origin/tools-canary-release  remotes/origin/tools_ndk_r9d  remotes/origin/tools_r20  remotes/origin/tools_r21  remotes/origin/tools_r21.1  remotes/origin/tools_r22  remotes/origin/tools_r22.2  remotes/origin/tools_r22.6  remotes/origin/tradefed  remotes/origin/ub-emulator-master  remotes/origin/ub-jack  remotes/origin/ub-jack-arzon  remotes/origin/ub-jack-arzon-mr2  remotes/origin/ub-jack-brest  remotes/origin/ub-jack-lang-dev  remotes/origin/ub-tools-idea133  remotes/origin/ub-tools-idea133-milestone  remotes/origin/ub-tools-idea133-release  remotes/origin/ub-tools-master  remotes/origin/ub-webview-m40-release  remotes/origin/upstream-mirror-lldb  remotes/origin/webview-m40_r1  remotes/origin/webview-m40_r2  remotes/origin/webview-m40_r3  remotes/origin/webview-m40_r4

repo sync

repo sync

这样就开始更新代码啦,速度还不错。

替换已有的 AOSP 源代码的 remote

如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后), 你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为 git://aosp.tuna.tsinghua.edu.cn/android/

<manifest>   <remote  name="aosp"-           fetch="https://android.googlesource.com"+           fetch="git://aosp.tuna.tsinghua.edu.cn/android/"            review="android-review.googlesource.com" />   <remote  name="github"

更多相关文章

  1. Android(安卓)事件分发源码分析
  2. Android(安卓)Studio 中Gradle配置debug使用release的签名
  3. android开发游记:android studio工程 转换为 eclipse工程
  4. Android系统根目录结构及说明
  5. EasyPermissions源码浅析
  6. 一个老程序员的Android学习路线指南
  7. MonkeyRunner源码分析之与Android设备通讯方式
  8. android的简单入门学习
  9. 安卓Android手机系统内文件夹目录解释

随机推荐

  1. Android事件分发,拦截,处理机制
  2. Android 7.1.1中SystemProperties 设置属
  3. Java反射学习
  4. ImageView一例
  5. Android中关于Handler looper参数设置问
  6. android中editText保留小数点后两位
  7. android之模拟时钟和数字时钟,计时器
  8. ios、Android、java通用AES加密方式
  9. android中的StatFs类
  10. 31、Android获取meta-data和build.gradle