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,如图所示:

Android Q源码下载之Window&Ubuntu_第1张图片

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

2、安装python环境

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

Android Q源码下载之Window&Ubuntu_第2张图片

那为什么要安装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源码下载之Window&Ubuntu_第3张图片

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

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

Android Q源码下载之Window&Ubuntu_第4张图片

③在此目录下执行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文件夹如下图所示:

Android Q源码下载之Window&Ubuntu_第5张图片
Android Q源码下载之Window&Ubuntu_第6张图片

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

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

cd manifest 进入manifest

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

Android Q源码下载之Window&Ubuntu_第7张图片

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

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

Android Q源码下载之Window&Ubuntu_第8张图片

第三章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"[email protected]"


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

你可能感兴趣的:(Android Q源码下载之Window&Ubuntu)