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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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.依赖问题

其实下载源码只用得到curlgit-corerepo。以下的命令是用来编译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,也就是代号为KOT49Handroid-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)
上一篇 2022年8月5日 下午7:16
下一篇 2022年8月5日 下午7:36


相关推荐

  • Android面试题集合[通俗易懂]

    Android面试题集合[通俗易懂]http://yuweiguocn.github.io/android-interview-list/Java基础简述题(一)&和&&的区别。Get和Post的区别httpresponsecodeudp连接和TCP的不同之处java中的softreference是个什么东西抽象类和接口的区别谈一下对java中的abstract的理解Overload和Override的区别St

    2022年5月20日
    38
  • 机械制图圆弧与圆弧连接画法_机械制图中圆角的画法

    机械制图圆弧与圆弧连接画法_机械制图中圆角的画法18圆弧连接的画法绘图时,经常要用已知半径的圆弧,但圆心要在作图中确定,这样的圆弧,称为连接圆弧。连接圆弧需要光滑连接已知直线或圆弧,光滑连接也就是要在连接点处相切。为了保证相切,必须准确地作出连接圆弧的圆心和切点。一、用已知半径为R的圆弧连接两条已知直线用半径为R的连接弧连接两已知直线的作图过程如图所示,其步骤为:1、求连接弧的圆心:作与两已知直线分别相距为R的平行线,交点O即为连接圆弧圆心;…

    2025年11月23日
    6
  • 安卓handler源码(androidstudio源码)

    Android多线程还有HandleThread,看名字就可以能感觉到得到,会是handler和Thread的综合使用。那到底什么怎么样的呢,就跟随Android的源码来看看他的工作原理是什么样的。我们先看看他的类注解:先看看官方对他的介绍:【Handyclassforstartinganewthreadthathasalooper.Theloopercanth…

    2022年4月17日
    57
  • typescript web_jenkins自动编译

    typescript web_jenkins自动编译前言上一篇我们讲到如何手动编译TypeScript,如果我们每次都要手动编译,那么这样会很累,接下来就介绍自动编译TypeScript。mac自动编译typescript在Typescript文

    2022年8月7日
    11
  • 贝叶斯定理

    贝叶斯定理条件概率和全概率在介绍贝叶斯定理之前,先简单地介绍一下条件概率,描述的是事件A在另一个事件B已经发生条件下的概率,记作 ,A和B可能是相互独立的两个事件,也可能不是: 表示A,B事件同时发生的概率,如果A和B是相互独立的两个事件,那么:上面的推导过程反过来证明了如果A和B是相互独立的事件,那么事件A发生的概率与B无关。稍微做一下改变:考虑到先验条件B…

    2022年6月1日
    59
  • 渗透测试工具——漏洞扫描工具

    渗透测试工具——漏洞扫描工具安全漏洞产生的原因技术原因软件系统复杂性提高,质量难于控制,安全性降低 公用模块的使用引发了安全问题经济原因“柠檬市场”效应——安全功能是最容易删减的部分环境原因从传统的封闭、静态和可控变为开放、动态和难控 攻易守难安全缺陷安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其“固有成分”安全漏洞是与生俱来的系统设计缺陷Internet从设计时就缺乏安全的总体架构和设计 TCP/IP中的三阶段握手.软件源代码的急剧膨胀Windows951500万行

    2025年11月8日
    8

发表回复

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

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