[Android 源码] Android源码下载「建议收藏」

[Android 源码] Android源码下载「建议收藏」Android源码下载为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中。官网中也有详细的介绍:http://source.andr


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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.proxy.ustclug.org/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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167100.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java Session的实现方法

    Java Session的实现方法HTTP协议(http://www.w3.org/Protocols/)是“一次性单向”协议。服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTPRequest,服务端处理请求,并且返回一个HTTPResponse给客户端,本次HTTPRequest-ResponseCycle结束。我们看到,HTTP协议本身并不能支持服务端保存客户端的状态信息…

    2022年7月12日
  • SAP Web IDE环境搭建 – 详细指导

    SAP Web IDE环境搭建 – 详细指导SAPWebIDE介绍在前面我的一些文章中已经有了SAPWebIDE的介绍,还包括了本地的WEBIDE的搭建,以及使用Eclipse作为Fiori开发的平台.不过目前看来,SAP的策略是以云为主,所以将来对于Fiori的开发都会基于SAPWebIDE云端的版本,本文将会详细的介绍如何搭建WebIDE云端版本.什么是SAPWebIDESAPWebIDEisa

    2022年10月17日
  • vue项目刷新当前页面的三种方法[通俗易懂]

    vue项目刷新当前页面的三种方法[通俗易懂]本文介绍了vue项目刷新当前页面的三种方法,本文图文并茂给大家介绍的非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下。 想必大家在刨坑vue的时候也遇到过下面情形:比如在删除或者增加一条记录的时候希望当前页面可以重新刷新或者如下面这种:如果希望点击确定的时候,Dialog对话框关闭的时候,当前http://localhost:9530/#/supplier/supplierAll页面可以重新刷新下那么表格的数据可以重新加载,Dialog对话框设置的数据可以在确定后刷新出现在页面上

    2022年10月17日
  • 【分享】深入浅出WPF全系列教程及源码

    【分享】深入浅出WPF全系列教程及源码

    2021年12月8日
  • 命令行中 javac、java、javap 的使用详解

    命令行中 javac、java、javap 的使用详解进入命令窗口,若要切换到指定目录,例如E盘下的目录,有2种方法:1)pushd[路径],此命令可将当前目录设为指定的任一个已存在的目录C:\Users\Administrator>pushde:360DownloadsE:\360Downloads>dir//显示当前目录下的目录及文件2)直接先输入e:,然后再用cd切换到指定目录1.javac

    2022年5月28日
  • 栈 数据结构_单调栈和单调队列

    栈 数据结构_单调栈和单调队列单调栈笔者在做leetcode的题(下一个出现的最大数字)时,接触到了单调栈这一种数据结构,经过研究之后,发现单调栈在解决某些问题时出奇的好用,下面是对单调栈的性质和一些典型题目。什么是单调栈?从名字上就听的出来,单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈单调递增栈:数据出栈的序列为单调递增序列单调递减栈:数据出栈的序列为单调递减序列ps:这里一定要注意…

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号