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

[Android 源码] Android源码下载的更多相关文章

  1. android源码-安卓源码-Android源码下载-安卓游戏源码

    android源码   高仿精仿金山手机卫士应用源码V1.2 高仿精仿金山手机卫士应用源码,该应用的级别实现了金山卫士的级别功能了,可以说跟现实中我们使用的金山卫士应用的功能几乎差不 人气:9286  ...

  2. Android 2.3.5源码 更新至android 4.4,能够下载,度娘网盘

    Android 4.4源代码下载(linux合并) ==============================切割线结束========================= 旧版本号的能够使用115, ...

  3. 查看android源码,windows环境下载源码

    查看源码 参考: http://blog.csdn.net/janronehoo/article/details/8560304 步骤: 添加chrome插件 Android SDK Search 进 ...

  4. Android源码4.4.4_r1下载和编译

    系统:ubuntu 16.04.2 TLS 1.源码下载: sudo apt-get install curl curl https://storage.googleapis.com/git-repo ...

  5. Android音乐播放器源码(歌词.均衡器.收藏.qq5.0菜单.通知)

    一款Android音乐播放器源码,基本功能都实现了 qq5.0菜单(歌词.均衡器.收藏.qq5.0菜单.通知) 只有向右滑动出现,菜单键和指定按钮都还没有添加. 源码下载:http://code.66 ...

  6. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  7. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...

  8. 实例源码--Android日历实例源码

      下载源码   技术要点: 1.Android基础控件的使用 2.Android应用开发基础框架 3.源码带有非常详细的中文 注释 ...... 详细介绍: 1. Android应用开 发技术 此套 ...

  9. wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之L ...

  10. Ubuntu TensorFlow 源码 Android Demo的编译运行

    Ubuntu TensorFlow 源码 Android Demo的编译运行 一. 安装 Android 的SDK和NDK SDK 配置 A:下载 国内下载地址选最新的: SDK: https://d ...

随机推荐

  1. CVE-2010-3971 CSS内存破坏漏洞分析

    看了仙果版主的议题演讲,其中提到cve-2010-3971是一个浏览器漏洞利用中的里程碑.于是找来POC,尝试分析一下. 1.漏洞重现 XP SP3+ie6.0环境 poc如下: poc.htm &l ...

  2. linux tar gzip 命令用法

    语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项: -c: 建立压缩档案-x:解压-t:查看内容-r: ...

  3. [实战]MVC5+EF6+MySql企业网盘实战(25)——种子列表

    写在前面 上篇文章实现了视频列表,本篇文章继续实现其他的文件列表.功能相似.这里就不再赘述. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MyS ...

  4. “裕同集团&易普优APS项目启动大会”顺利召开

    “裕同集团&易普优APS项目启动大会”顺利召开 ——易普优APS助力裕同集团实现精益生产 2017年7月05日,“裕同集团&易普优APS项目启动大会”顺利召开,裕同集团高级王副总裁.I ...

  5. Qt中translate、tr关系 与中文问题

    原文请看:http://hi.baidu.com/dbzhang800/item/d850488767bdc3cdee083d43 题外话:何时使用 tr ? 在论坛中漂,经常遇到有人遇到tr相关的问 ...

  6. Python开发基础-Day33 IO模型

    IO模型分类 五种IO Model blocking IO 阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复用 signal driven IO 信号驱动 ...

  7. 通过因特网连接Beaglebone Black

    通过因特网连接Beaglebone Black 通过网络连接,可以使你方便地从各种地方以及各种不同的电脑访问到Beaglebone Black.这种连接Beaglebone Black方式通常使用5V ...

  8. 通过openURL的方式启动其它App

    假设有两个App,项目名分别是SampleA和SampleB,需要在SampleA里点击一个Button来启动SampleB,并传递一个字符串.具体实现步骤如下: 1. 在SampleB的info.p ...

  9. 工具栏(UIToolbar)

    工具栏一般用来显示弹出框,以至于UIPopoverController类包含方法presentPopoverFromBarButtonItem:permittedArrowDirections:ani ...

  10. cf 633B A trivial problem

    Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an i ...