Ubuntu12.04下的 Android 源码下载


 

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

也有专家建议划出单独分区挂载 /home,这样重装系统的时候/home下用户数据可以得以保留,你想什么时候重装系统什么时候重装系统,那根 (/)对应的主分区就小点儿,50G差不多,/home对应分区就100G以上吧。

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

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

$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos ncurses-dev \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

2  安装java6

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

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

2.1 添加apt 源

sudo add-apt-repository "deb http://ppa.launchpad.net/ferramroberto/java/ubuntu natty main" & sudo apt-get update

2.2 添加partner源

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner" & 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 参数启用代理功能,还是不能连接。

  1. $ export <code><span class="pln">HTTP_PROXY</span><span class="pun"></span></code>=116.228.55.184:80
$ 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

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

  1. curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo 
curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo
修改执行权限
chmod a+x ~/bin/repo

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

  1. $ mkdir <android源代码目录> 
  2. $ cd <android源代码目录> 
$ mkdir <android源代码目录>
$ cd <android源代码目录>

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

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

(如果不能下载,试用http链接 $ repo init -u http://android.googlesource.com/platform/manifest )

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

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

(如果不能下载,试用http链接 $ repo init -u http://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成功。。。,

如果遇到报错:fatal: '../platform/abi/cpp.git' does not appear to be a git repository

在.repo目录下的manifest.xml里找到fetch属性,改成
fetch="git://Android.git.linaro.org/"

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

Your Name  [XXXXXX]: XXXXXX

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

如果repo 操作中遇到网络连接问题,可以通过修改hosts文件尝试解决。Windows在C:\WINDOWS\system32\drivers\etc目录下,Linux用户打开/etc/hosts文件,在文件的末尾添加下面2句:

74.125.31.82 www.googlesource.com.
74.125.31.82 android.googlesource.com

  1. tony@tony-E1230:~/android-src-02$ repo sync 
  2.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
  3.                                  Dload  Upload   Total   Spent    Left  Speed 
  4.   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  % Total    % Received % Xferd  Average  Spee d %   TiTmote a  l T im e       %Ti meR  eCucrreenitv 
  5. 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 
  6.     0C  u  r 0r e  n 0t   
  7.     0       0        0          0          0  -- :- - :- -  -- :- -: --  - -: -- :- -        0 Dload  Upload   Total   Spent    Left  Speed 
  8. 100   244    0   244    0     0   1930      0 --:--:-- --:--:-- --:--:--  3641 
  9. 100   259    0   259    0     0   1749      0 --:--:-- --:--:-- --:--:--  2846 
  10. 100   243    0   243    0     0   1194      0 --:--:-- --:--:-- --:--:--  1630 
  11. 后面还有不少。。。。 
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,这个数字按下载版本不同应该会有差异,体量上基本就是这样。

编译源码参考:    Ubuntu12.04下的Android 源码编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值