Android Q源码下载之Window&Ubuntu

第一章         文章简介... 2

第二章         windows下源码下载... 2

1、安装git客户端... 2

2、安装python环境... 3

3、创建Python脚本... 3

4、下载源码... 4

第三章Ubuntu下源码下载... 8

1、      安装和配置git 8

2、安装repo. 8

3、      下载源码... 9

1、      Google方式下载... 9

2、国内镜像下载... 9




第一章     文章简介

本篇文章主要分享了一下,android Q源代码的下载,要想分析源代码那你必须要有源代码,此处主要分享了在windows下直接下载源代码和ubuntu上下载源代码。因为对于中国的开发者来说大多数工程师使用的是Windows环境,我们也更加的属性,因此我主要以Windows为例详细讲述了代码下载过程。另外呢,使用Windows下载无需注册任何的账号就能够下载到源代码,从清华的镜像直接就能获取也无需翻墙。该文章主要针对一些想要获取源代码的同事,还有很多不足之处请,大家评论留言让所有人都能够看懂和掌握获取源代码。

另外、我特别声明在公司并不是使用这种方式进行下载源代码,公司更倾向于Ubuntu和git的linux下载,所以此方式不能使用与面试,只适用于个人查看下载源代码。下面将详细说明。

第二章     windows下源码下载

1、安装git客户端

首先需要到git官网下载git的客户端:https://git-scm.com/download/win,如图所示:

下载好后,一直下一步直到最后安装完成即可,是个工程师应该都会操作,此处不做更多的讲解。

2、安装python环境

首先需要到python官网下载安装包:https://www.python.org/getit/,如图所示:

那为什么要安装python呢,我们此处要使用python脚本来下载。

Python的安装要注意必须将python加入到环境变量里面。此处都是环境的安装不做过多的讲解。

3、创建Python脚本

创建一个python脚本,注意文件编码使用utf-8,然后粘贴下面代码到文件中,文件名用英文命名,例如download.py


import xml.dom.minidom

import os

from subprocess import call


# 1. 修改为源码要保存的路径

rootdir ="H:/android_source_Q/sourcecode"


# 2. 设置 git 安装的路径

git = "D:/Git/bin/git.exe"


# 3. 修改为第一步中 manifest 中 default.xml保存的路径

dom =xml.dom.minidom.parse("H:/android_source_Q/manifest/default.xml")

root = dom.documentElement


# prefix = git + " clonehttps://android.googlesource.com/"

# 4.使用清华源下载

prefix = git + " clonehttps://aosp.tuna.tsinghua.edu.cn/"

suffix = ".git"


if not os.path.exists(rootdir):

   os.mkdir(rootdir)


for node inroot.getElementsByTagName("project"):

   os.chdir(rootdir)

    d= node.getAttribute("path")

   last = d.rfind("/")

   if last != -1:

       d = rootdir + "/" + d[:last]

       if not os.path.exists(d):

           os.makedirs(d)

       os.chdir(d)

   cmd = prefix + node.getAttribute("name") + suffix

call(cmd)


注意修改对应的磁盘位置,此处是我个人的下载路径。我使用的是清华的镜像


4、下载源码

首先选择一个磁盘,需要大概150个G左右,我下载的android Q 10.0大概是110个G,因为里面包含很多编译脚本等等,如果仅仅是代码也就没有如此之多了。此处要注意如果磁盘不足就不能正常下载了


① 先在盘上创建一个目录android_Q,此处名字随便起。

② android_Q目录中右键打开git bash的命令行,如果你安装了git客户端,你就会有下面的两个选项。如图:

③在此目录下执行git clone https://android.googlesource.com/platform/manifest.git

(这是google的git地址),如果无法正常下载则执行git clonehttps://aosp.tuna.tsinghua.edu.cn/platform/manifest.git该地址。

git clonehttps://aosp.tuna.tsinghua.edu.cn/platform/manifest.git

是清华的镜像地址,在国内的同事建议优先使用该地址,两个地址其实差距不是很大。


执行完该命令后在你的目录下会多一个manifest文件夹如下图所示:

④ 修改第三步中的脚本,替换其中的路径

⑤在git bash中进入manifes中,就可以使用git命令了

cd manifest 进入manifest

git branch -a查看当前所有的分支

选择一个自己要下载的分支:remotes/origin/android-q-preview-6我此处选择的是这个,这个是我下载完成后查看分支的截图

⑥ 后执行python脚本python download.py,注意此处的python脚本的位置,要进入到python 脚本所在的目录下执行,不然识别不到脚本。执行这个脚本之后就开始检出,我这边忘了截图,就不贴截图了,此处要注意下载的东西很多,所以要耗费很长时间,所以在下载的过程中,请设置你的电源选项为永久不休眠,不然会打断下载。

第三章Ubuntu下源码下载

虚拟机的安装和ubuntu的安装请看文章:

https://blog.csdn.net/chen364567628/article/details/96693743


[if !supportLists]1、[endif]安装和配置git

打开终端:(右键-打开终端)执行如下命令:


sudo apt-get install git


加入环境变量,此处注意为什么加-p,是因为目录不存在,需要创建。


sudo mkdir –p ~/binPATH=~/bin:$PATH


配置git的用户名和邮箱,也就是注册账号时的信息:

git config --global user.name "Your Name"


git config --global user.email"you@example.com"


2、安装repo

执行如下命令:


sudo apt-get install curl


创建bin目录(可以不创建看自己的情况和下面的命令有关)


[if !supportLists]1、 [endif] mkdir bin


安装repo

[if !supportLists]2、 [endif]curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo >~/bin/repo


添加可执行权限:

3、chmod a+x ~/bin/repo


安装Python环境

sudo apt-get install python


3、       下载源码

如果你是可以访问Google的服务器,即可以翻墙等用户执行第一种方法操作。如果你不能访问国外服务器,那么请选用第一种方式。

1、Google方式下载

执行如下命令:


repo init -u https://android.googlesource.com/platform/manifest


切换具体的分支:对于分支信息请访问

https://source.android.google.cn/source/build-numbers.html#source-code-tags-and-builds


repo init -uhttps://android.googlesource.com/platform/manifest -b android-4.0.1_r1


执行命令

repo sync

但此处不建议这样执行,二是加几个参数:


repo sync –df –j8


至于该参数什么含义,自行百度,可以简单的说和并发是有关的

2、国内镜像下载

如果是国内的通过清华的镜像服务器下载需要按照如下方式进行:可以直接查看

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

帮助文档,也可以按照下面介绍进行。

进入bin下,修改repo文件中的


REPO_URL = 'https://gerrit.googlesource.com/git-repo'

改为

REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'


此处注意直接用vi编辑会发现保存不了,需要使用W!强制保存,因为repo文件是只读的。


repo init -uhttps://aosp.tuna.tsinghua.edu.cn/platform/manifest


repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1

切换具体的分支:对于分支信息请访问

https://source.android.google.cn/source/build-numbers.html#source-code-tags-and-builds


同样的不建议使用

repo sync

建议使用


repo sync -df -j4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容