第一章         文章简介... 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 + " clone https://android.googlesource.com/"

# 4.使用清华源下载

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

suffix = ".git"

if not os.path.exists(rootdir):

os.mkdir(rootdir)

for node in root.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 clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git该地址。

git clone https://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

  1. 安装和配置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目录(可以不创建看自己的情况和下面的命令有关)

  1. mkdir bin

安装repo

  1. curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo

添加可执行权限:

3、chmod a+x ~/bin/repo

安装Python环境

sudo apt-get install python

  1. 下载源码

如果你是可以访问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 -u https://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 -u https://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源代码下载---UbuntuWindows相关推荐

  1. Android系统源代码下载

    引用:http://www.cnblogs.com/mandroid/archive/2011/06/06/2073473.html 一.概述 众所周知,Android移动操作系统是Google花费了 ...

  2. Android 系统开发系列(1):Android 12 源代码下载、编译和刷机

    Android 12 正式版 已经发布:https://mp.weixin.qq.com/s/OiFSWEnc-0N2z7JYWTJluw 本文就带大家下载和编译最新的 Android 12 代码,本 ...

  3. Android Framework源代码下载

    官方 Google源代码: Android开源项目AOSP官方文档 代码下载方法 国内GitHub地址 清华大学开源软件镜像站 中国科学技术大学开源软件镜像站 都2021年了 但是下载Android ...

  4. Vivo升级android版本,vivo手机升级Android Q教程:很简单,X27与NEX都支持

    原标题:vivo手机升级Android Q教程:很简单,X27与NEX都支持 北京时间5月8日,谷歌在美国加州山景城海岸线圆形剧场召开了一年一度的I/O大会,正式发布全新一代的安卓操作系统--Andr ...

  5. 一加6安装android,如何在一加6或6T上安装Android Q Beta

    Android Q(或称为Android 10)是谷歌最新推出的操作系统,很多使用一加6.一加6T的小伙伴应该也想知道怎么安装Android Q 测试版尝尝鲜,下面一起来看看该怎么做. 要求 电池电量 ...

  6. 【视频教程】老罗分享Android源代码下载和编译及如何分析源代码

    小编语:老罗(罗升阳)的Android之旅,在国内是让不少人收益,也给了我非常大的启示,老罗最近自己折腾了一个网站叫<进击的程序员>,域名:http://0xcc0xcd.com/,继续他 ...

  7. Android源代码下载与编译 - 2019

    Android源代码下载与编译 - 2019 (基于Ubuntu 18.10,适用于国内环境) 下载repo工具 如果没有下载repo脚本工具,请到清华mirror下载 curl https://mi ...

  8. Android源代码下载方法具体解释

    作者:张星 相信非常多下载过内核的人都对这个非常熟悉 git clone git://android.git.kernel.org/kernel/common.git kernel 可是这是在曾经,如 ...

  9. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

    在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载.另外为了方便 ...

最新文章

  1. 使用NetBeans6开发OSGi应用(3)——整合Knopflerfish![88250原创]
  2. 通过调用门进行控制转移 ——《x86汇编语言:从实模式到保护模式》读书笔记29
  3. mysql断开同步并记录位置_数据库同步自动断开问题的处理
  4. 对h.264压缩视频码流中i帧的提取(firstime)
  5. jtree和mysql_java 已经获取某个mysql数据库的所有表名 创建JTree
  6. python 循环内部添加多个条件判断会出现越界
  7. WPF纯手工两步打造图片切割工具(二)
  8. js的简单介绍及基本用法
  9. 使用PO+跨平台改造Macaca示例(APP端)
  10. Arduino PS2手柄小车代码
  11. 世界芯中国芯RISC-V相关资源及进展
  12. Android科大讯飞语音合成
  13. “瓮中捉鳖”——涨停板一般出现在什么时候?
  14. 物联网应用技术的十大基础功能
  15. FEM基函数:从理论推导到matlab实现形式
  16. 疫情之下欧洲汽车“众生相”
  17. 3种方法封锁BT下载
  18. Python黑帽子编程—使用scapy构造数据包
  19. 二进制转换成十六进制输出的C代码
  20. jQuery 输入框的onblur事件

热门文章

  1. 复数求模运算的快速近似实现方法
  2. 一种安全的url传参方式
  3. JDK8的随笔(07)_行云流水般的Lambda表达式
  4. c语言字符怎么变成整数,c语言,字符串转换成整数
  5. win7怎么关闭3D加速的方法
  6. 个人博客:后台(登录)
  7. 动态规划+BFS+DFS+回溯+红黑树+排序+链表+位运算(B站优质学习资源链接,后续会继续更新)
  8. matlab测量高度,Visionpro系列教程(五)卡尺测量长度的例子
  9. 【MySQL 07】linux + Docker容器环境中备份和还原MySQL数据库
  10. WPF Expander控件简单样式