ubuntu12.04LTS环境下载Android4.3源码

 

由于工作的需要,要使用android4.3的源码,那么就在网上下载了,以下为总结的一些问题和步骤,注意一点,android4.3的源码是需要在linux 64bit系统下编译的,不然会报错误的,到时候再换版本很头疼的!

 


1下载环境

源代码的下载,首先需要安装以下工具软件:curl 和 git-core

 

1.1安装curl:

打开终端,可以使用按Ctrl+Alt +T的快捷方式打开终端

在终端中执行命令:sudo apt-get install curl

 

1.2安装git-core

sudoapt-get install git-core gnupg 

 

1.3安装repo

1)

$ mkdir ~/bin

$ PATH=~/bin:$PATH 

2)

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

$ chmod a+x ~/bin/repo

  or(if err: curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo"> ~/bin/repo)

 

2下载源码

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

初始 repo

用repo/git下载源码时,执行

$ repo init -u https://android.googlesource.com/platform/manifest-b android-4.3_r2.1

 

3遇到问题解决办法

1)执行$ repo init -uhttps://android.googlesource.com/platform/manifest -b android-4.3_r2.1会报错误 异常为

error: The requested URL returnederror: 406 while accessinghttps://android.googlesource.com/platform/cts/info/refs

fatal: HTTP request failed
error: Cannot fetch platform/cts
error: Failed to connect to 2404:6800:4008:c01::52: Network is unreachablewhile accessinghttps://android.googlesource.com/platform/external/bzip2/info/refs

fatal: HTTP request failed
error: Failed to connect to 2404:6800:4008:c01::52: Network is unreachablewhile accessinghttps://android.googlesource.com/platform/external/checkpolicy/info/refs

fatal: HTTP request failed

解决方法

1) 浏览器登录https://android.googlesource.com/new-password,并用gmail帐号登录;

2)点击网页上的“允许访问”,得到类似

machine android.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA machine android-review.googlesource.com login git-jacky.rg4.net password 1/dkRiGEvvC8o8Pgg-GsM2AbMNS_32-U0Pf0_VWkYogIA 

我的帐号是

(machineandroid.googlesource.com login git-moonlight7211.gmail.com password1/19QbJ0cMSNbKhvm8TtQseUXUR7HbPcPuYPM9G1U_LP8

machineandroid-review.googlesource.com login git-moonlight7211.gmail.com password1/19QbJ0cMSNbKhvm8TtQseUXUR7HbPcPuYPM9G1U_LP8)

3)把上面那段信息追加到~/.netrc文件结尾(请检查当前用户的权限, 如果不存在此文件则自己新建一个);

4)下载地址的URI更改为https://android.googlesource.com/a/platform/manifest(中间加上了“/a”)。

5) ~/bin/repo init -uhttps://android.googlesource.com/a/platform/manifest -bandroid-4.0.3_r1 -b android-4.3_r2.1

6)repo sync

即可拉下Android源码。这时在WORKING_DIRECTORY下会生成一个 .repo的文件夹,如果之前这个文件夹已经存在,先删掉它

 

2)在下载过程中我试了很多次都会错误

fatal: '../platform/abi/cpp.git'does not appear to be a git repository

fatal: The remote end hung upunexpectedly

error: Cannot fetchplatform/abi/cpp

找到以前的一个文档,发现加上一句话就可以了:在.repo目录下的manifest.xml里找到fetch属性改成 fetch="git://Android.git.linaro.org/ ",开始下载了直接使用命令

$ repo sync

 

6,开始同步源码

按理说在repoinit  ....之 后使用repo sync就可以开始下载源码了,但是在下载过程中经常会出现没网速“死”的情况。当然,我修改了/etc/hosts文件之后就再也么有死过。在没网速提 示连接不上时,可以按ctrl+z按键来暂停同步,然后再输入repo sync就可以了。但尽管这样也不太方便,比如大半夜的谁会守着电脑监督下载情况,源码貌似都要一夜才下好,汗。为此,可以参考http://www.rosoo.net/a/201302/16503.html 在工作目录,我的是~/document/androidSource文件夹下新建一个download.sh脚本文件,里面的内容是:

#!/bin/bash     

echo "======start repo sync======"     

repo sync     

while [ $? == 1 ]; do     

echo "======sync failed, re-sync again======"     

sleep 3     

 repo sync     

done  

chomd a+x download.sh让其可以运行,然后终端输入./download.sh就可以开始下载了,用这一步代替官方文档里的repo sync

当连接不上终端时休息3毫秒然后再自动repo sync,这样就很完美了。

7,下载的源码在哪里

         在工作目录~/document/androidSource文件夹下,输入命令 ls -a,可以看到有个.repo文件夹。很显示这是个隐藏文件夹,进去这个目录后查看结果如下:

1.   administrator@ubuntu:~/document/androidSource/.repo$ ls  

2.   manifests  manifests.git  manifest.xml  projects  repo 

      里面的projects文件夹即是下载的源码.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值