Android 4.4 Kit Kat源码下载

为了能够顺利的下载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

4.选择Android源码分支

下载Android的源码之前,你要打算一下该下载哪个版本才行。这里我选择了最新的4.4.2,也就是代号为KOT49H的android-4.4.2_r1。

具体详情可以去官网查看一下,网址如下:(在Source Code Tags and Builds这一块)
http://source.android.com/source/build-numbers.html


5.一些相关设置

为了避免下载源码时会出现一些奇怪的错误,我们还应该修改一下/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


6.初始化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

可能会出现如下问题1:

protocol https not supported or disabled in libcurl

解决方法:

参考:http://stackoverflow.com/questions/6884669/curl-1-protocol-https-not-supported-or-disabled-in-libcurl

$cd /root/Downloads/curl # step-1 $./configure --with-ssl # step-2 $make # step-3 $make install # step-4 (if not root, use sudo before command)

可能出现的问题2:

fatal: unable to auto-detect email address

解决方法:

在终端中运行如下两条命令即可:

$git config --global user.email "you@example.com"
$git config --global user.name "Your Name"

其中,把you@example.com和Your Name改为你自己的邮箱和名字即可


7.一个小改动

当所有设置都完成之后,我们还应当修改一个文件。这个文件就是.repo/manifest.xml。
$gedit .repo/manifest.xml

打开文件之后,找到fetch=".."(在文件中的第5行)这一项,将其修改为fetch="
https://android.googlesource.com"

8.开始下载源码

一切都设置好了之后,且保证没有问题后,我们就可以开始下载源码了。命令如下:

$repo sync

9.下载中断问题
下载的过程中可能会出现中断现象,只要再次执行:
$repo sync

10.总结
下载工具安装:
$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

更多相关文章

  1. Android(安卓)Home 长按键处理
  2. Android6.0 设置永不休眠
  3. Android拟器不能正常上网
  4. android设置窗口全屏
  5. android 关于paint的设置
  6. Android(安卓)studio 高级控件提示文本框与下拉框
  7. Android两级导航菜单栏的实现--FragmentTabHost结合ViewPager与A
  8. Android使用glide加载gif动画设置播放次数
  9. urlConn.setRequestProperty是做什么的以及作用

随机推荐

  1. RelativeLayout属性详解
  2. Android中调用天气预报
  3. [mark]Android(安卓)aapt工具
  4. Android: couldn't save which view has
  5. eclipse中使用RecyclerView报错:Error inf
  6. 与Android的系统打交道
  7. android下的android.os.StrictMode$Andro
  8. TextView字体逐渐变淡点以及程序特定list
  9. 解决Glide4.0和圆角裁剪CenterCrop冲突
  10. Ice Cream Sandwich系统将统一Android版