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. 第 17 章 使用API

    在本章中,我们将学习如何编写一个独立的程序,并对其获取的数据进行可视化.这个程序将使用Web应用编程接口(API)自动请求网站的特定信息而不是整个网页,再对这些信息进行可视化.由于这样编写的程序始终使 ...

  2. Redis实战(四)

    配置好了web.config程序,并且能通过C#代码来读取和管理以上配置信息. 接下来,就可以进行Redis的数据写入了.Redis中可以用Store和StoreAll分别保存单条和多条数据,C#中具 ...

  3. logstash收集nginx日志

    (1)安装nginx 1.安装nginx yum install epel-release -y yum install nginx -y 2.修改日志文件格式为json #vim /etc/ngin ...

  4. ubuntu下 pycharm使用andcoda下的tensorflow

    在ubuntu中 tensorflow是安装在andconda里的一个虚拟环境中,他就相当于一个容器,将tensorflow的整个环境去模拟隔离出来,因为我们直接使用andconda库去作为pycha ...

  5. Good Bye 2017 部分题解

    D. New Year and Arbitrary Arrangement 分析 \(dp[i][j]\) 表示已有 \(i\) 个 \(a\) 和 \(j\) 个 \(ab\) 的情况下继续构造能得 ...

  6. RabbitMQ (十六) 消息队列的应用场景 (转)

    原贴 : http://blog.csdn.net/cws1214/article/details/52922267 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 ...

  7. 【BZOJ 3289】 3289: Mato的文件管理 (莫队)

    3289: Mato的文件管理 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 2819  Solved: 1185 Description Mato同 ...

  8. NOIP2017 D1T2时间复杂度

    这道题在考试时看到感觉与第一题放反了位置(因为我还没有看到第一题是结论题) 对于每个语句进行栈的模拟,而如果有语法错误就特判. 对于每一条for语句我们将其与栈顶元素连边,复杂度是1的我们不用考虑,如 ...

  9. HTML && xml 的区别

    HTML && xml 的区别 HTML 超文本标记语言 xml 可扩展标记语言 jsp  表面是一个HTML页面,本质是一个servlet HTML  超文本标记语言 HTML 是一 ...

  10. python开发_dbm_键值对存储_完整_博主推荐

    ''' 在python的应用程序中,不需要关系型数据库时,如MySQL 可以使用python提供的持久字典dbm来存储名称和值(键值对) 这个类似于java的中的java.util.Map对象. 区别 ...