Ubuntu Linux下android源码下载(原文有误,修改)

转载自:http://www.cnblogs.com/taskiller/archive/2012/04/02/2429888.html

今天同事需要纯净的Android源码,下载不成功。试做后发现一些小问题,修改后,下载成功。

1、在Linux的终端下,运行以下命令,在用户目录下创建一个android目录,之后进入该目录:

mkdir android
cd android

2、在android下创建bin目录,以执行其中的命令:

mkdir bin

3、并将其加入到环境变量PATH中(这一步是可以略过的,会在第5步中说明):

PATH=~/android/bin:$PATH

4、进入bin目录,下载Repo脚本,并将其设置为可执行:

curl http://git-repo.googlecode.com/files/repo-1.12> repo
curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > repo //获取repo
 chmod a+x repo

稍等片刻即可完成。

由于可能被墙等原因,修改~/bin/repo文件将第五行 https改为http 以下类似

REPO_URL='https://code.google.com/p/git-repo/'

改为

REPO_URL='http://code.google.com/p/git-repo/'

5、在android目录下建立存放android源码的目录source,并初始化:

mkdir source

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

该命令会下载所有的版本,也可以对以上命令加上参数来指定下载某一部分的源码,例如:

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

如果之前的第3步略过了,这里需要将以上命令中的“repo”修改为“../bin/repo”以使终端可以识别repo命令。

6、之后会要求输入用户名和邮箱地址,可以随机输入。如果以后要向google递交bug,那么需要输入有效的google帐户。完成之后如果出现 “repo initialized in /home/taskiller/android”,则表示初始化完成,可以开始下载源码了。

7、还是在source目录下,输入命令 repo sync,下载源码。(若第三步略过,参考上一步)这一步视网速,可能需要比较长的一段时间。

在这一步还是出现问题,报错并中断。修改命令:repo sync -f  -j10,-f 是--force-broken,-j10是启用10个线程。

repo sync时如果出现错误信息(没有出现此错误,请跳过):
Initializing project platform/abi/cpp ...
fatal: '../platform/abi/cpp.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform/abi/cpp

解决方案:
可以查看根目录下有个.repo文件夹,在.repo目录下的manifest.xml里找到fetch属性
改成
fetch= "git://Android.git.linaro.org/ "

$ vi .repo/manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

<remote name="aosp"
fetch=".."
review="https://android-review.googlesource.com/" />
<default revision="refs/tags/android-4.2_r1"
remote="aosp"
sync-j="4" />
将fetch=".."修改成fetch= "git://Android.git.linaro.org/ ",再sync就OK了
--------------------------------------------------------------


如果中间出现中断,这个很正常,你可以再次输入 ~/bin/repo sync 命令来进行下载。

8、如果只是想下载内核的源码,可以在第一步后,创建kernel目录,之后进入到该目录中:

1>2 cd kernel

 

之后直接用以下命令即可下载:

1
2
3
4
5
6
git clone https://android.googlesource.com/kernel/common.git
git clone https://android.googlesource.com/kernel/goldfish.git
git clone https://android.googlesource.com/kernel/msm.git
git clone https://android.googlesource.com/kernel/omap.git
git clone https://android.googlesource.com/kernel/samsung.git
git clone https://android.googlesource.com/kernel/tegra.git

 这一步可以与下载源码同时进行。内核源码比完整源码小得多,需要的时间也小得多。下载后用ls命令是看不到的,因为其默认为隐藏的,保存在名为.git的隐藏文件中,可以通过la -la查看。

遗憾的是,google的android.git.kernel.org由于受到黑客攻击,已经停用,域名移至:

android.googlesource.com

新的命令为

$ repo init -u https://android.googlesource.com/kernel/common

同样地,可-b指定你想要的版本,如下载android 2.2(代号为froyo):

$ repo init -u https://android.googlesource.com/kernel/common -b froyo --输入版本号也可下载(内核版本号)

android版本代号

Android 1.5:Cupcake(杯子蛋糕)
Android 1.6:Donut(甜甜圈)
Android 2.0 / 2.1:Eclair(闪电泡芙)
Android 2.2:Froyo(冷冻忧格)
Android 3.0:Gingerbread(姜饼)
Android 3.5:Honeycomb(蜂巢)
Android 4.0:Ice Cream(冰淇淋)

Android 4.4:Kitkat(奇巧)


对android内核与源码的编译会在之后介绍。
读者也可参考官方网站:http://source.android.com/source/downloading.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值