下载android4.4.2源码全过程(附已下载的源码)
今天在下载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源码全过程(附已下载的源码)的更多相关文章
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
- 下载android4.4.2源代码全过程(附已下载的源代码)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/maosidiaoxian/article/details/36625727 今天在下载andriod ...
- Winform中使用zxing实现二维码生成(附dll下载)
场景 zxing.dll下载 https://download.csdn.net/download/badao_liumang_qizhi/11623214 效果 实现 新建Winform程序,将上面 ...
- Ubuntu12.04下载Android4.0.1源码全过程,附若干问题解决[转]
学校里一直在做应用层开发,考虑到日后就业问题,这次决定研究源码和驱动,并进行编译.没想到就下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再下源码的人不要再走无谓的弯路了.事实 ...
- [2013.7.5新鲜出炉] Ubuntu12.04下载Android4.0.1源码全过程----------------折腾两天,终于下好,附若干问题解决
本文转至 http://blog.csdn.net/yanzi1225627/article/details/9255457 下载源码这一步折腾了我整整两天,期间遇到很多问题,哎,记录于此,希望日后再 ...
- ubuntu13.04下载android4.0.1源码过程
最初我参考的是老罗的博客http://blog.csdn.net/luoshengyang/article/details/6559955 进行下载安装的,但弄着弄着就发现不太对劲了.这里记录下详细过 ...
- 转载: ubuntu13.04下载android4.0.1源码过程
转自:http://blog.csdn.net/zhanglongit/article/details/9263009,中间有些不行的地方进行了些小修改. 最初我参考的是老罗的博客http://blo ...
- Android4.4系统源码百度网盘下载
众所周知.Android如今非常火,肯定也有非常多android开发人员像我一样想研究android系统的源码.可是假设依照Google官方站点http://source.android.com/so ...
- 转:微信开发之使用java获取签名signature(贴源码,附工程)
微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报 分类: 微信开发 ...
随机推荐
- day4 liaoxuefeng---函数
一.调用函数: 调用abs函数:取绝对值函数, >>> abs(100) 100 >>> abs(-20) 20 >>> abs(12.34) 1 ...
- sprintf()、fprintf()、fscanf()的用法
sprintf函数的用法1.该函数包含在stdio.h的头文件中. 2.sprintf和平时我们常用的printf函数的功能很相似.sprintf函数打印到字符串中,而printf函数打印输出到屏幕上 ...
- Windows提示dll组件丢失
我们在运行一些软件时,常常会遇到这种问题.下面就来提供解决办法: 登陆网址:www.dll-files.com. 找到页面的搜索部分,并且进行相关搜索: 下图显示了相关的dll下载链接. 下载解压即可 ...
- 更改计算机名及使用Secure CRT ssh连接用户添加方法汇总
修改计算机名 更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名. 开启SS ...
- urllib,request 设置代理
通常防止爬虫被反主要有以下几个策略: 1.动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息) 2.使用IP地址池:VPN和代理IP,现在大部分网站都是根据IP来b ...
- 浅谈Java中的equals和==与hashCode
转载:https://www.cnblogs.com/dolphin0520/p/3592500.html 参考:http://blog.csdn.net/yinzhijiezhan/article/ ...
- easyui datagrid 排序问题
$('#dg').datagrid({ remoteSort:false,④ sortName:'sysfield', ① sortOrder:'desc',② columns:[[ {field ...
- hibernate实体对象的三种状态:自由状态,持久状态,游离状态.
自由态与游离态的区别: 当一个持久化对象,脱离开Hibernate的缓存管理后,它就处于游离状态,游离对象和自由对象的最大区别在于,游离对象在数据库中可能还存在一条与它 对应的记录,只是现在这个游离对 ...
- .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?
最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...
- 如何找回Oracle所有用户丢失的密码
如何找回Oracle所有用户丢失的密码: 方法一:1.以操作系统验证的方式登录 SQL>conn / as sysdba; 2.查看系统中的用户名. SQL>select USERNAME ...