本篇文章主要分享了一下,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
如果你是可以访问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