reference : http://blog.csdn.net/shenlan18446744/article/details/51490560

repo 下载Android源码(国内镜像)

  1. 下载repo 
    网上给的repo大多是国外的网址,考虑到墙的存在,给不少同学增加了一定的困难,这次我就将repo放在七牛云存储上面供大家下载,下载地址repo
  2. 将repo添加进环境变量 
    下载后将repo复制到/usr/bin目录下,之所以复制到这个目录是因为这个目录本身就在系统环境变量里面,这样的话就省去了配置repo环境变量的问题,接着给普通用户赋对这个文件的执行权限

    chmod a+x /usr/bin/repo
  3. 测试repo是否安装成功 
    接着在其它非系统环境变量目录执行repo命令,看是否有这样的输出

    error: repo is not installed.  Use "repo init" to install it here.

    如果有这样的输出就代表repo安装成功。

  4. 修改repo 
    将repo加进系统环境变量之后还要修改一下文件的一下内容,因为默认的repo文件的下载源是googlesource.com,然而这个网址是在墙外的无法访问,因此我们就要把下载源代码的地址改为国内的,国内的下载Android 源码的镜像有很多,常见的有 tsinghua/omap/,这里我们使用清华的,因为清华就在笔者附近从网络链接速度来说都相当快。 
    修改repo文件众的REPO_URL 为

    REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/git-repo'

    由于是repo在/usr/bin目录下因此在编辑repo文件的时候要在前面加上sudo

    sudo vim /usr/bin/repo

    这是我修改好的repo文件大家可以直接使用,在使用前记得重命名成repo就可以了,repo_tsinghua下载地址

  5. 下载源码 
    接着开始下载Android 源码,这里我在自己的家目录创建了一个Android_Source 文件夹来存储Android源码。执行下列命令来初始化仓库

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

    初始化仓库后,会在Androi_Source 目录下创建一个.repo的隐藏目录,进入这个目录下会发现几个文件。其中最重要的是manifest.xml,这个文件是个链接文件,这个链接指向manifets目录下的default.xml,这个清单文件描述了Android 源代码下所有的project,从底层到应用层,但凡是Android 系统众用到的这里面都有,比如我们知道的在Android原生系统众的联系人应用在这个文件中对应着这两个project

    <project path="packages/apps/Contacts" name="platform/packages/apps/Contacts" />
    <project path="packages/apps/ContactsCommon" name="platform/packages/apps/ContactsCommon" />

    接着在Android_Source目录里下执行下列命令,就开始从清华镜像下载Android源码,我在实际下载过程中出现过网络情况不太好的时候,这时候下载会中断,这时重新执行改命令就可以了。repo会检测之前下载好的是否完成,然后接着从上一次中断处开始下载。就这样就基本上完成了Andorid源码的下载,下载完成后大概31G左右,如果不到31G的基本上就是没下载完,重新执行该命令即可。

    repo sync

    查询下载完成后的文件大小: 
     
    那到底什么时候是下载完成的状态呢,下载完成后会有这样的提示:

    Fetching projects: 100% (486/486), done.

    图例: 
     
    PS. 有的同学在执行repo init命令的时候可能会出现这样的提示:

    error.GitError: manifests var:
    *** Please tell me who you are. Run git config --global user.email "you@example.com"
    git config --global user.name "Your Name" to set your account's default identity.
    Omit --global to set the identity only in this repository.

    这个提示已经很明显了,大概意思就是git不知道你是谁,需要执行下这两个命令告诉git就可以了。

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

[Android] repo 下载Android源码(国内镜像)的更多相关文章

  1. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  2. 【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码

    http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android ...

  3. Android Studio 导入 AOSP 源码

    有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具.问题来 ...

  4. Android音乐播放器源码(歌词.均衡器.收藏.qq5.0菜单.通知)

    一款Android音乐播放器源码,基本功能都实现了 qq5.0菜单(歌词.均衡器.收藏.qq5.0菜单.通知) 只有向右滑动出现,菜单键和指定按钮都还没有添加. 源码下载:http://code.66 ...

  5. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...

  6. 编译Android 4.4.2源码

    在之前的文章中,和大家分享了在天朝下下载android 4.4.2源码的过程(详见下载android4.4.2源码全过程(附已下载的源码)),现在写下编译的笔记. 虽然在android doc中,有提 ...

  7. android 近百个源码项目【转】

    http://www.cnblogs.com/helloandroid/articles/2385358.html Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多 ...

  8. Android 自定义View及其在布局文件中的使用示例(三):结合Android 4.4.2_r1源码分析onMeasure过程

    转载请注明出处 http://www.cnblogs.com/crashmaker/p/3549365.html From crash_coder linguowu linguowu0622@gami ...

  9. android版猜拳游戏源码分享

    android版猜拳游戏源码分享安卓版猜拳游戏源码,该文件中带有安装测试包的,这个游戏源码比较简单的,现在有两个代码,一个自定义VIEW的,一个就是普通的imageView图片,游戏非常适合一些新手的 ...

随机推荐

  1. bzoj 1232 [Usaco2008Nov]安慰奶牛cheer

    思路:看出跟dfs的顺序有关就很好写了, 对于一棵树来说确定了起点那么访问点的顺序就是dfs序,每个点经过 其度数遍,每条边经过2边, 那么我们将边的权值×2加上两端点的权值跑最小生成树,最后加上一个 ...

  2. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  3. java中int和Integer比较

    java中int和Integer比较 一,类型区别 我们知道java中由两种数据类型,即基本类型和对象类型,int就是基本数据类型,而Integer是一个class,也习惯把Integer叫做int的 ...

  4. Python并发编程系列之协程

    1 引言 协程是近几年并发编程的一个热门话题,与Python多进程.多线程相比,协程在很多方面优势明显.本文从协程的定义和意义出发,结合asyncio模块详细讲述协程的使用. 2 协程的意义 2.1 ...

  5. 基于TensorFlow Serving的深度学习在线预估

    一.前言 随着深度学习在图像.语言.广告点击率预估等各个领域不断发展,很多团队开始探索深度学习技术在业务层面的实践与应用.而在广告CTR预估方面,新模型也是层出不穷: Wide and Deep[1] ...

  6. ssm框架常见问题

    搭建SSM框架时,总是遇到这样那样的问题,有的一眼就能看出来,有的需要经验的积累.现将自己搭建SSM框架时遇到的典型问题总结如下: 一.Struts2框架下的action中无法使用@Autowired ...

  7. JVM CPU占满问题定位

    RASP加载后出现JVM CPU占满问题,jstack -F输出信息无法找到对应占用CPU的线程 perf定位到占用CPU的热代码位于Dependencies::find_finalizable_su ...

  8. web过滤器使用spring依赖注入

    1.问题描述 在web项目中,使用filter过滤器十分常见,但是在过滤器中spring Bean即使在配置文件中配置了扫描filter对应的包,也无法正确注入spring 管理的Bean. 2.原因 ...

  9. python抓包模块

    pcapy模块 安装 yum install -y epel-release yum install -y pip gcc    gcc-c++   libpcap-devel python-deve ...

  10. 用Python开始机器学习(3:数据拟合与广义线性回归)

    机器学习中的预测问题通常分为2类:回归与分类. 简单的说回归就是预测数值,而分类是给数据打上标签归类. 本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析. 本例中使用一个 ...