AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Android 镜像使用帮助

注意: 本镜像是 AOSP 镜像,Android SDK因版权原因,我们不能提供镜像服务。

可访问 https://cs.android.com 或 Android Open Source Project · GitHub 在线搜索及浏览 AOSP 源码。

参考 Google 教程 https://source.android.com/setup/build/downloading, 将 https://android.googlesource.com/ 全部使用 https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/ 代替即可。

由于使用 HTTPS 协议更安全,并且更便于我们灵活处理,所以强烈推荐使用 HTTPS 协议同步 AOSP 镜像。

由于 AOSP 镜像造成CPU/内存负载过重,我们限制了并发数量,因此建议:

  1. sync的时候并发数不宜太高,否则会出现 503 错误,即-j后面的数字不能太大,建议选择4。
  2. 请尽量选择流量较小时错峰同步。

过程摘录

(参考 AOSP(Android) 镜像使用帮助 - LUG @ USTC 编写)

下载 repo 工具:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

或者使用tuna的git-repo镜像

使用每月更新的初始化包

由于首次同步需要下载约 95GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

此后,每次只需运行 repo sync 即可保持同步。 我们强烈建议您保持每天同步,并尽量选择凌晨等低峰时间

传统初始化方法

建立工作目录:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

初始化仓库:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

如果提示无法连接到 gerrit.googlesource.com,请参照git-repo的帮助页面的更新一节。

如果需要某个特定的 Android 版本(列表):

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-4.0.1_r1

同步源码树(以后只需执行这条命令来同步):

repo sync

建立次级镜像

由于 AOSP 镜像需求量巨大,且 Git 服务占资源较多,TUNA 服务器因 AOSP 产生的负载已经占主要部分。 如果你是团队用户,我们强烈建议你通过 TUNA 建立次级镜像,再分享给团队内其他用户,减轻 TUNA 服务器压力。 建立 AOSP 镜像需要占用约 460G 磁盘。

具体步骤为:

下载 repo 工具和建立工作目录(略)

初始化:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/mirror/manifest --mirror

最后同步源码树:

repo sync

同步完成后,运行 git daemon --verbose --export-all --base-path=WORKING_DIR WORKING_DIR (WORKING_DIR为代码树所在目录) 。

此后,其他用户使用 git://ip.to.mirror/ 作为镜像即可。

替换已有的 AOSP 源代码的 remote

如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后), 你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要修改 .repo/manifests.git/config,将

url = https://android.googlesource.com/platform/manifest

更改为

url = https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

或者可以不修改文件,而执行

git config --global url.https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/.insteadof https://android.googlesource.com

FAQ

  1. 镜像的是什么?

    • AOSP 的 git 仓库
  2. 为何不能通过浏览器访问?
    • 暂时没有 gitweb, 而且反正是 git bare 仓库,没有可以直接看到的内容。
    • 建议访问 https://cs.android.com 或 https://github.com/aosp-mirror 在线搜索及浏览 AOSP 源码。
  3. 出现 curl: (22) The requested URL returned error: 404 Not Found Server does not provide clone.bundle; ignoring. 怎么办?
    • 无视即可。
    • 参见:https://github.com/tuna/issues/issues/936

android源码下载及编译相关推荐

  1. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  2. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  3. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

  4. android源码下载以及编译自己的ROM

    android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...

  5. 【Bash百宝箱】Android源码下载及编译

    文章目录 0.版本管理 1.环境准备 2.源码下载 3.源码编译 4.产品定制 5.系统image tip:下文基于Android 6.0 Marshmallow,后续版本可能稍有不同. 0.版本管理 ...

  6. android源码下载与编译,Android源码下载并编译

    Android源代码下载与编译 - 2020 1.下载repo工具 到清华mirror下载repo curl https://mirrors.tuna.tsinghua.edu.cn/git/git- ...

  7. android 源码下载编译

    引用:http://www.2cto.com/kf/201202/121175.html 最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本 ...

  8. linux编译android源码,ubuntu16.04 Android源码下载编译

    本次编译源码的电脑为Ubuntu 16.04,4核 + 4G内存. 注. 对于电脑配置低的建议不要编译7.0以上的版本,就像我这台电脑,基本编译7.0以上都会报内存不足问题,因为在7.0版以上andr ...

  9. Android源码下载(可编译)

    文章目录 1 源码下载 2 源码编译.导入Studio 3 遇到的问题 1 mac 默认是不区分大小写的,所以需要分区去下载源码. 2 解决 repo sync error: Exited sync ...

最新文章

  1. 安装AverMedia UltraA 实时游戏录屏转播模块
  2. CSS权重的等级划分
  3. 08 | 替换策略: 缓存满了怎么办?
  4. 牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径
  5. boost::container模块实现范围分配器用法
  6. java tcp 编程实例_Java实现基于TCP的通讯程序实例解析
  7. SAP Cloud for Customer根据Accouunt自动带出Sales Unit的配置
  8. 【BZOJ】1649: [Usaco2006 Dec]Cow Roller Coaster(dp)
  9. 写出float x 与“零值”比较的if语句——一道面试题分析
  10. php date t_php date 参数
  11. pytorch torch.empty
  12. 第五章---字符串+序列转化
  13. linux中touch命令如何使用,Linux touch命令
  14. 提高 Mac OS X 速度的 52 个方法
  15. 已经出狱的李一男和即将出狱的王欣,还能赶上这个时代吗?
  16. 计算机病毒片头制作,怎么用格式工厂做gif_格式工厂怎么制作片头_格式工厂能做什么...
  17. 光环JAVA_【- Light 计划 -】新建了一台Linux云服务器我该干嘛
  18. 嵌入式软件开发能力提高的几个途径
  19. “快充”拯救续航,雅迪难称王
  20. 剑指 Offer 06. 从尾到头打印链表

热门文章

  1. CentOS常用zip压缩和解压缩命令
  2. 联想笔记本突然没声音了,但是音量却是打开得,F1亮着
  3. C++实现二叉树 前、中、后序遍历(递归与非递归)非递归实现过程最简洁版本
  4. SWIG和MapGuide Web API
  5. 软件需求分析报告 -机票预订系统
  6. Autowired注解起什么作用呢?
  7. uni-app如何自定义内容生成二维码?
  8. mySql中Truncate的用法
  9. LabWindows的TEXTBOX和TABLE操作
  10. awk详解:awk语言及应用