Android源码下载
为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中。
官网中也有详细的介绍:
http://source.android.com/source/downloading.html
1.环境设置问题
系统:Ubuntu 12.04 LTS 64bit
所需工具:curl, git-core, repo(repo的问题在后面有讲到)...
2.硬盘空间问题
首先,在下载源码之前,最首要的事请就是保证有足够的硬盘空间来存放代码。一般来说,从网络上下好的源码起码有20G以上。因此,我给自己的硬盘留了一块40G的分区来保存源码。
3.依赖问题
其实下载源码只用得到curl,git-core和repo。以下的命令是用来编译Android的。大家可以参考一下。
$ 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 \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
如果只想下载源码,执行以下命令就行了:
$sudo apt-get install git git-core curl
但是,我们仍缺少repo这个用python写的脚本。官网上的方法好像不太适用:
$mkdir ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$chmod a+x ~/bin/repo
推荐适用下述方法来获取repo:
$mkdir ~/bin
$curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
$chmod a+x ~/bin/repo
最后设置一下PATH:
$PATH=~/bin/:$PATH
3.选择分支
下载Android的源码之前,你要打算一下该下载哪个版本才行。这里我选择了最新的4.4.2,也就是代号为KOT49H的android-4.4.2_r1。
具体详情可以去官网查看一下,网址如下:(在Source Code Tags and Builds这一块)
http://source.android.com/source/build-numbers.html
4.一些相关设置
为了避免下载源码时会出现一些奇怪的错误,我们还应该修改一下/etc/hosts。
$sudo gedit /etc/hosts
在/etc/hosts中,添加一下内容:
### Google servers
74.125.31.82 www.googlesource.com
74.125.31.82 android.googlesource.com
203.208.46.172 cache.pack.google.com
59.24.3.173 cache.pack.google.com
5.初始化repo
下载源码时,我们就要用repo了。
先选择一个存放源码的目录,比如/home/user/android。那么使用一下的命令:
$mkdir ~/android
$cd ~/android
然后运行repo:
$ repo init -u https://android.googlesource.com/platform/manifest
到后面,repo会要求你输入你的用户名并确认即可。此后,repo会保存一些相关信息到.repo文件夹中,源码下完之前千万不要把它删掉了。
之后在运行一下repo:
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
其中参数 -b 后面接你要下载的Android版本即可,如-b android-4.4.2_r1
6.一个小改动
当所有设置都完成之后,我们还应当修改一个文件。这个文件就是.repo/manifest.xml。
$gedit .repo/manifest.xml
打开文件之后,找到fetch=".."(在文件中的第5行)这一项,将其修改为fetch="https://android.googlesource.com"
7.开始下载源码
一切都设置好了之后,且保证没有问题后,我们就可以开始下载源码了。命令如下:
$repo sync
8.下载中断问题
下载的过程中可能会出现中断现象,只要再次执行:
$repo sync
9.总结
下载工具安装:
$sudo apt-get install git git-core curl
repo的获取:
$mkdir ~/bin
$curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
$chmod a+x ~/bin/repo
设置PATH:
$PATH=~/bin/:$PATH
初始化repo:
$repo init -u https://android.googlesource.com/platform/manifest
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
将.repo/manifest.xml中的fetch=”..”改为fetch="https://android.googlesource.com"
下载及下载中断都使用:
$repo sync