今天在下载andriod源码,特来与大家分享一下我的经验。当然,网上教下载源码的教程较多,本文主要针对在GFW下下载源码出现的各种问题的解决方法。

1、首先安装下载客户端git , 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月底开始,谷歌的相关网站,基本上都已经不能直接访问了,当然,我一直用goagentFQ,所受影响不大,除了打不开tools.android.com这个站点之外。在这里,我假设你已经有代理工具的了(如果没有,会折腾的用goagent,不会折腾的一个月花几块钱买一个)。下面我们就需要设置curl的代理,方法很简单,加个参数 -x 代理地址。比如我的代理服务器为我在局域网里的另一部电脑,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站点被墙,所以这里不能直接下载,需要设置代码。这里设置代码很简单,设置一下https.proxy的变量就可以了。如下:

https_proxy=192.168.137.1:8087

后面对应的值记得改回你自己的代理服务器地址及端口。

(补述,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的代理服务器,后面的值修改为你自己的代替服务器的地址。

第三行是取消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. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

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

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

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

  3. Winform中使用zxing实现二维码生成(附dll下载)

    场景 zxing.dll下载 https://download.csdn.net/download/badao_liumang_qizhi/11623214 效果 实现 新建Winform程序,将上面 ...

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

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

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

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

  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. Android4.4系统源码百度网盘下载

    众所周知.Android如今非常火,肯定也有非常多android开发人员像我一样想研究android系统的源码.可是假设依照Google官方站点http://source.android.com/so ...

  9. 转:微信开发之使用java获取签名signature(贴源码,附工程)

    微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发 ...

随机推荐

  1. Java面试题—初级(8)

    基本表结构:  student(sno,sname,sage,ssex)学生表        course(cno,cname,tno) 课程表        sc(sno,cno,score) 成绩 ...

  2. SpringCloud学习之sleuth&zipkin

    一.调用链跟踪的必要性 首先我们简单来看一下下单到支付的过程,别的不多说,在业务复杂的时候往往服务会一层接一层的调用,当某一服务环节出现响应缓慢时会影响整个服务的响应速度,由于业务调用层次很“深”,那 ...

  3. 修改表单元素中placeholder属性样式、清除IE浏览器中input元素的清除图标和眼睛图标

    一.修改input元素placeholder属性样式 在做项目的时候,一般表单元素的placeholder属性样式都是使用浏览器默认的,但有时候为了追求设计上的美感需要修表单元素的placeholde ...

  4. JavaScript实现简单的双向数据绑定

    什么是双向数据绑定 双向数据绑定简单来说就是UI视图(View)与数据(Model)相互绑定在一起,当数据改变之后相应的UI视图也同步改变.反之,当UI视图改变之后相应的数据也同步改变. 双向数据绑定 ...

  5. input中v-model和value不能同时调用时解决方案

    <input type="text" v-model="keyWord" value="请输入地名地址" > 当使用如上代码时, ...

  6. 读书笔记-《Maven实战》-关于Maven依赖传递的思考 2018/4/26

    上次读书笔记中,提到了依赖传递.看着依赖传递表,一直在思考为什么会是这样. 先看传递表: compile test provided runtime compile test provided run ...

  7. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  8. Create database 创建数据库

    首先在ORACLE用户下进入.bash_profile文件 [oracle@linux02 ~]$ vi .bash_profile export ORACLE_SID=hldbexport ORAC ...

  9. 用tensorlayer导入Slim模型迁移学习

    上一篇博客[用tensorflow迁移学习猫狗分类]笔者讲到用tensorlayer的[VGG16模型]迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensor ...

  10. MLDS笔记:浅层结构 vs 深层结构

    深度学习出现之前,机器学习方面的开发者通常需要仔细地设计特征.设计算法,且他们在理论上常能够得知这样设计的实际表现如何: 深度学习出现后,开发者常先尝试实验,有时候实验结果常与直觉相矛盾,实验后再找出 ...