版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/maosidiaoxian/article/details/36625727

今天在下载andriod源代码,特来与大家分享一下我的经验。

当然,网上教下载源代码的教程较多,本文主要针对在GFW下下载源代码出现的各种问题的解决方法。

1、首先安装下载clientgit , curl。

命令例如以下:

sudo apt-get install curl git

2、创建一个bin文件夹,加入到PATH当中。

mkdir ~/bin
PATH=~/bin:$PATH

3、下载repo的脚本并加入可运行权限。

curl http://git-repo.googlecode.com/files/repo-1.13 > ~/bin/repo
chmod a+x ~/bin/repo

在这里。问题就出来了。

自5月底開始,谷歌的相关网站,基本上都已经不能直接訪问了,当然,我一直用goagent翻墙,所受影响不大。除了打不开tools.android.com这个网站之外。

在这里。我假设你已经有代理工具的了(假设没有,会折腾的用goagent,不会折腾的一个月花几块钱买一个)。

以下我们就须要设置curl的代理,方法非常easy。加个參数 -x 代理地址。

比方我的代理server为我在局域网里的还有一部电脑。IP为192.168.137.1,端口为8087.那么上面下载 repo脚本的命令就应该为:

curl -x 192.168.137.1:8087 http://git-repo.googlecode.com/files/repo-1.13 > ~/bin/repo

下载之后,再改动权限,如上面所看到的。

4、创建源代码文件夹并进入。

mkdir android4.4.2
cd android4.4.2

5、初始化repo。

repo init -u https://android.googlesource.com/platform/manifest -b android-cts-4.2_r2

在-b后面跟着的是分支名。不出意外,这里问题又来了。googlesource.com网站被墙。所以这里不能直接下载,须要设置代码。这里设置代码非常easy,设置一下https.proxy的变量就能够了。

例如以下:

https_proxy=192.168.137.1:8087

后面相应的值记得改回你自己的代理server地址及端口。

(补述,http的代理也要设置 。后面下载代码会用到,方法同上。设置一下http_proxy变量。

然后我们再运行初始化。这时。问题又来了。控制台输出:

Get https://code.google.com/p/git-repo/
error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://code.google.com/p/git-repo/info/refs
fatal: HTTP request failed

显示是证书问题。导入证书我不知道怎么整,只是我找到了还有一种方法,就是取消GIT的SSL验证。命令例如以下:

export GIT_SSL_NO_VERIFY=1

然后我们再运行初始化,这时成功了(假设网络断开请多试一试)。

6、下载源代码。

最后,运行repo sync就可以。

7、关于获取源代码清单

以下说一下怎样获取各个版本号的分支名。

首先。没有设置代理的要先设置GIT的代理,例如以下:

export https_proxy=192.168.137.1:8087
export https_proxy=192.168.137.1:8087
export GIT_SSL_NO_VERIFY=1

当中第一、二行各自是设置http及https的代理server。后面的值改动为你自己的取代server的地址。

第三行是取消SSL验证,不然会出现SSL验证问题。

然后运行以下命令克隆该git 仓库。

 git clone https://android.googlesource.com/platform/manifest

接着运行git branch -a,就可以得到各分支名,例如以下:

msdx@msdx-ubuntu:~/code/A/manifest$ git branch -a
* master
remotes/origin/HEAD -> origin/master
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.2_r1
remotes/origin/android-4.4.2_r2
remotes/origin/android-4.4.3_r1
remotes/origin/android-4.4.3_r1.1
remotes/origin/android-4.4.4_r1
remotes/origin/android-4.4_r1
remotes/origin/android-4.4_r1.1
remotes/origin/android-4.4_r1.2
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-verifier-4.0.3_r1
remotes/origin/android-cts-verifier-4.0_r1
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-adt_r16.0.1
remotes/origin/android-sdk-adt_r20
remotes/origin/android-sdk-support_r11
remotes/origin/chromium-dev
remotes/origin/froyo
remotes/origin/gingerbread
remotes/origin/gingerbread-release
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-dev
remotes/origin/jumper-stable
remotes/origin/kitkat-cts-dev
remotes/origin/kitkat-dev
remotes/origin/l-preview
remotes/origin/master
remotes/origin/master-art
remotes/origin/master-art-host
remotes/origin/master-dalvik
remotes/origin/master-dalvik-host
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-tools-idea133
remotes/origin/ub-tools-idea133-milestone
remotes/origin/ub-tools-idea133-release
remotes/origin/ub-tools-master

最后。附上我已经下载好的源代码:http://zdz.la/KN8Nai

我下载的东西,事实上有51G左右,当中.repo占了约42G。下载源代码请留够硬盘

下载android4.4.2源代码全过程(附已下载的源代码)的更多相关文章

  1. 下载android4.4.2源码全过程(附已下载的源码)

    今天在下载andriod源码,特来与大家分享一下我的经验.当然,网上教下载源码的教程较多,本文主要针对在GFW下下载源码出现的各种问题的解决方法. 1.首先安装下载客户端git , curl. 命令如 ...

  2. Ubuntu12.04下载Android4.0.1源码全过程,附若干问题解决[转]

    学校里一直在做应用层开发,考虑到日后就业问题,这次决定研究源码和驱动,并进行编译.没想到就下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再下源码的人不要再走无谓的弯路了.事实 ...

  3. [2013.7.5新鲜出炉] Ubuntu12.04下载Android4.0.1源码全过程----------------折腾两天,终于下好,附若干问题解决

    本文转至 http://blog.csdn.net/yanzi1225627/article/details/9255457 下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再 ...

  4. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  5. 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

    一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...

  6. ubuntu13.04下载android4.0.1源码过程

    最初我参考的是老罗的博客http://blog.csdn.net/luoshengyang/article/details/6559955 进行下载安装的,但弄着弄着就发现不太对劲了.这里记录下详细过 ...

  7. 转载: ubuntu13.04下载android4.0.1源码过程

    转自:http://blog.csdn.net/zhanglongit/article/details/9263009,中间有些不行的地方进行了些小修改. 最初我参考的是老罗的博客http://blo ...

  8. eclipse安装反编译插件(附jad下载)

    eclipse安装反编译插件(附jad下载) 博客分类: eclipse   一.eclipse反编译插件Jadclipse jadclips插件网站:    http://jadclipse.sou ...

  9. chrome 下载插件包及离线安装 附 Advanced Rest Client 下载

    最近需要测试http rest服务,由于chrome插件的轻便,首先想到了用chrome插件,在google商店找到Advanced Rest Client,用了一阵感觉不错. 于是项目组其他同事也要 ...

随机推荐

  1. Java参数校验工具validation实践

    介绍 在项目开发当中,数据校验是你必须要考虑和面对的事情,为此要写上一大串的代码进行校验,这样就会导致代码冗余和一些管理的问题. 例如下面的代码: public void push(List<L ...

  2. PKUSC2019 D2T2

    PKUSC2019 D2T2 把n(n<=100)的树(无边权)放在m维空间上(坐标都是整点),使得任意两个点的曼哈顿距离都是原树上的距离 求最小的m,并给出构造方案 性质好题,巧妙构造题. 原 ...

  3. 19-10-30-C

    交文件吼啊. ZJ一下: T1是真·高中数学. T2不是很清楚,只得了30. T3打了一个欧拉序. 做的海星的地方: Vim太好用辣,直接按平常打叫上去它就是 freopen T1仔仔细细的研究了高考 ...

  4. 05-3-style标签属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 编程之法:面试和算法心得(字符串包含java实现)

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都 ...

  6. python的functools.partial的应用

    functools.partial是类似于创造“可移动”函数的意思,参数的第一个是函数名,其他的是这个函数其他参数,例如: generator_func = functools.partial( tf ...

  7. Grep- Linux必学的60个命令

    1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所 ...

  8. 使用springmvc实现文件上传

    该配置在javaweb上传文件篇中的基础上进行配置:https://www.cnblogs.com/flypig666/p/11745182.html 1.配置文件解析器,在springmvc.xml ...

  9. mysql设置密码登录

    参考: https://blog.csdn.net/Light_Breeze/article/details/82070222 https://www.jianshu.com/p/d979df2791 ...

  10. [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫

    [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫 Online Judge:2019计蒜之道 复赛 A Label:LIS+线段树.树状数组+快速幂(模逆元) 题目描述 题解: pre. ...