一直想尝试android源码的编译,这两天正好海思代码的编译也需要ubuntu环境,于是安装了ubuntu 12.04,安装时选了语言为中文,因此下面很多状态及错误报告都是中文了,另外分配了4G swap分区,200G ext4主分区。因为听说android源码编译需要100G空间,加上考虑磁盘余量作为工具安装及代码备份,给了200G,反正现在谁都不缺这点儿硬盘空间。

关于源码的下载官方文档是 http://source.android.com/source/downloading.html#initializing-a-repo-client

1.  下载 些工具,在编译之前 git-core 和 curl 是必需的

$ sudo apt-get install git-core

$ sudo apt-get install curl

2  安装java6

注意:openjdk不推荐使用,编译中可能造成混淆及功能缺失。通过以下命令卸载openjdk,

$  sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

2.1 在/etc/apt/sources.list 末尾加上如下行:

###for install Java6
deb http://ppa.launchpad.net/ferramroberto/java/ubuntu natty main

2.2 添加partner源

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner"

2.3 更新系统

$ sudo apt-get update

2.3 安装 java6-jre

$ sudo apt-get install sun-java6-jre sun-java6-plugin

2.4 安装 java6-jdk

$ sudo apt-get install sun-java6-jdk sun-java6-plugin

2.5 察看版本

$ java -version

显示信息如下:

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

3. 执行curl

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

就报告网络不可达,用了类似下面的代理设置后, curl加上 -v 参数启用代理功能,还是不能连接。

$ export HTTP_PROXY=116.228.55.184:80;
$ curl -v https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

可以到 http://code.google.com/p/git-repo/downloads/list 下载一个保存为 ~/bin/repo

或者使用下面命令,具体版本号参考前面网页中显示的最新版本号。

curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo

修改执行权限 
chmod a+x ~/bin/repo

4. 建立并进入android源代码目录

$ mkdir <android源代码目录>
$ cd <android源代码目录>

5. 执行 repo init 准备下载最新版本android代码,用下面命令准备下载主干(main / trunk)版本

$ repo init -u https://android.googlesource.com/platform/manifest

或是用以下命令下载指定分支(branch)

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

如果 repo没有找到 branch 参数指出分支版本,就会输出大量信息,其中有可以下载分支的列表,由于内容过长,请参考http://blog.csdn.net/tonyfield/article/details/9734031

实际操作中,获得错误报告:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle,

这个地址和你看到的可能不同,但肯定是 ~/bin/repo 第5行或第6行REPO_URL 所表示的网址。

stockoverflow上有贴提及是代理环境变量造成的问题,想到前面尝试过设置 HTTP_PROXY,用下面的指令清除,HTTPS_PROXY 存在的话也要清除 HTTPS_PROXY。

unset HTTP_PROXY

unset HTTPS_PROXY

然后repo init成功。。。,

提示输入你的姓名 及 邮件地址,你想要使用Gerrit code-review 工具的话就要用你申请的 Google账户使用的邮件地址,没有的话去申请一个,不用花多少时间。

Your Name  [XXXXXX]: XXXXXX

6. repo 信息下载后,用 “repo sync”命令将真正的Android代码同步到当前工作目录显示下载状态类似下面

tony@tony-E1230:~/android-src-02$ repo sync
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 % Total % Received % Xferd Average Spee d % TiTmote a l T im e %Ti meR eCucrreenitv
e d % X f e r d A ve r a g e S p e e Ddlo ad UpTloiadm e T ot al STpienmt e L ef t S peTedi
0C u r 0r e n 0t
0 0 0 0 0 -- :- - :- - -- :- -: -- - -: -- :- - 0 Dload Upload Total Spent Left Speed
100 244 0 244 0 0 1930 0 --:--:-- --:--:-- --:--:-- 3641
100 259 0 259 0 0 1749 0 --:--:-- --:--:-- --:--:-- 2846
100 243 0 243 0 0 1194 0 --:--:-- --:--:-- --:--:-- 1630
后面还有不少。。。。

。。。。2个多小时后。。。。下载完毕, 文件304789项,7.6G,这个数字按下载版本不同应该会有差异,体量上基本就是这样。

Android 源码下载的更多相关文章

  1. 驾照理论模拟考试系统Android源码下载

    ‍‍‍驾照理论模拟考试系统Android源码下载 <ignore_js_op> 9.png (55.77 KB, 下载次数: 0) <ignore_js_op> 10.png ...

  2. Android源码下载方法详解

    转自:http://www.cnblogs.com/anakin/archive/2011/12/20/2295276.html Android源码下载方法详解 相信很多下载过内核的人都对这个很熟悉 ...

  3. Android源码下载

    Android源码下载 1.安装git 2.安装repo 从这里 https://dl-ssl.google.com/dl/googlesource/git-repo/repo 下载repo文件 3. ...

  4. android源码下载/查看地址

    源码下载: http://git.omapzoom.org/ 高通平台android源码下载地址: https://www.codeaurora.org/xwiki/bin/QAEP/WebHome ...

  5. [Android 源码] Android源码下载

    Android源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中. 官网中也有详细的介绍: http://source.a ...

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

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

  7. I.MX6 android 源码下载

    /************************************************************************* * I.MX6 android 源码下载 * 说明 ...

  8. Android 源码下载方法(Git 方式clone)

    Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-Tortoi ...

  9. Android学习系列(38)--Android源码下载和编译

    前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在<拓展系列>里.随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以 ...

随机推荐

  1. 11. 星际争霸之php设计模式--备忘模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  2. ECMAScript 6教程 (二) 对象和函数

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文连接,博客地址为 http://www.cnblogs.com/jasonnode/ .该系列课程是 ...

  3. 【git学习】sha1 deflate

    deflate has rfc sha1 has rfc sha1和md5sum类似,可以学习整理

  4. 配置DNS服务器

    一.配置基本的DNS 服务器(包含正向解析和反向解析)域名:abc.com服务器IP:10.1.2.11 1. 编辑主配置文件/etc/named.conf---------------------- ...

  5. 使用Lombok简化你的代码

    一.安装 eclipse 下载:https://projectlombok.org/       双击安装即可. 重启eclipse/myeclipse         如果有报错,clean一下项目 ...

  6. js 获得日期相差天数

    function getDays(strDateStart,strDateEnd){               var strSeparator = "-"; //日期分隔符   ...

  7. stoneniqiu 理想就是自己喜欢做,并对社会和他人都有意义的事情!

    H5嵌入原生开发小结----兼容安卓与ios的填坑之路 2016-11-19 08:29 by stoneniqiu, 1038 阅读, 8 评论, 收藏, 编辑 一开始听说开发H5,以为就是做适配现 ...

  8. 【Unity基础知识之三】Unity Assets目录下的特殊文件夹名称

    Unity3D的特殊目录名称   Unity预留了一些目录名称,这些目录有着特殊的含义.比较重要的有: Resources这个目录下的所有文件都会被打包到发布版本中,程序可以通过文件路径来访问它们.这 ...

  9. 两个有序数组中查找第K大数

    题目:两个数组A.B,长度分别为m.n,即A(m).B(n),分别是递增数组.求第K大的数字.   方法一: 简单的办法,使用Merge Sort,首先将两个数组合并,然后在枚举查找.这个算法的时间复 ...

  10. Trasformation中的公式报错误,错误数据行定位

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...