1.  安装软件

1.1.  安装 git

A.git官网下载:https://git-scm.com/downloads/

安装git到如下路径

C:/Program Files/Git

B.图形化工具:https://tortoisegit.org/

1.2.  安装 Python

python官网下载:https://www.python.org/downloads/

安装python到如下路径

C:/Program Files/python

2. 下载源码

2.1. 克隆源代码仓库

在 E 盘创建如下文件夹(没有E盘也可以)

mkdir E:/android_source/

打开 Git Bash,用下面命令下载代码仓库

cd E:/android_source/
git clone https://android.googlesource.com/platform/manifest.git

如果无法访问google,使用清华源

git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git

2.2. 切换到Android Q对应的版本

先查询想要下载的android Q版本

cd manifest
git branch -a 

当前 android q 版本如下,使用最新的  android-q-preview-2.5

 

git checkout android-q-preview-2.5

3. 执行Python脚本进行源代码下载

 在E盘创建android_q的源码目录

cd E:/android_source/
mkdir android_q
cd android_q

复制下面的代码保存到本地,命令为download.py

import xml.dom.minidom
import os
from subprocess import call # 1. 修改为源码要保存的路径
rootdir = "E:/android_source/android_q" # 2. 设置 git 安装的路径
git = "C:/Program Files/Git/bin/git.exe" # 3. 修改为第一步中 manifest 中 default.xml 保存的路径
dom = xml.dom.minidom.parse("E:/android_source/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)

 同步代码,执行下面的命令后坐等代码下完即可

python download.py

 

MAC 下源码流程、编译和刷机教程传送门:https://www.cnblogs.com/larack/p/9722954.html

Windows 中下载 Android Q 源码的更多相关文章

  1. Android 如何在Eclipse中查看Android API源码 及 support包源码

    当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...

  2. 【转】Android 如何在Eclipse中查看Android API源码 及 support包源码

    原文网址:http://blog.csdn.net/vipzjyno1/article/details/22954775 当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都 ...

  3. 在Eclipse中关联Android API源码

    在Eclipse中快速关联API源码,便于查看类以及方法.方法如下: 1. 在对应的项目文件右键——>properties——>java build path——>libraries ...

  4. Android 快速下载 Android framework 源码

    官网 Android framework源码git地址 github: https://github.com/android/platform_frameworks_base google 官方: h ...

  5. 如何在Eclipse中查看Android API源码以及support包源码

    http://my.eoe.cn/futurexiong/archive/181.html 开发第三方Android应用的,大多数人应该还是Eclipse结合ADT来开发.那么大多数时候我们可能希望点 ...

  6. maven中下载jar包源码和javadoc

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  7. window下载android 最新源码

    https://blog.csdn.net/jason0539/article/details/24010633 2017方法 ok https://www.cnblogs.com/zhangting ...

  8. 怎样将Android SDK源码 导入到Eclipse中?

    在Eclipse中导入android sdk源码 http://blog.csdn.net/hahahacff/article/details/8590649

  9. 关于查看Android系统源码【Written By KillerLegend】

    可能你会想下载Android系统源码,但是我不知道你会看多少系统的源码,如果你对源码只是偶尔看一次的话,推荐你在线看Android的系统源码,下面提供几种查看android系统源码的方法. 1:打开这 ...

随机推荐

  1. 【NOIP2013模拟】归途与征程

    题目 分析 好吧...明显是暴力题. 首先,把A串分成只有小写字母组成的小分串,按顺序存放:A[1].A[2].A[3]--. 对于同构循环串,显然把两个B串合在一起,成为一个新的C串.\(C[i.. ...

  2. 【JavaScript】包装类

    包装类 String().Number().Boolean() String() 可以将基本数据类型的字符串转换为String对象 var string = new String("hell ...

  3. 所有input输入完成后,改变按钮颜色

    $(function(){ $('input').on('input propertychange',function(){ if(($.trim($('.add1').val())!==" ...

  4. ndn挖坑记(二)

    目录 如何使用ndnSIM运行自己的仿真实验 基本要点 开始动手 BUG记录 如何使用ndnSIM运行自己的仿真实验 基本要点 仿真场景可以在NS-3目录下的scratch/ or src/ndnSI ...

  5. 把图片画到画布上,适应PC和移动端

    画一张图片到画布上 <canvas id="myCanvas" width="1000px" height="200px" >您 ...

  6. Java 有关类字段的初始化

    实例代码 package text; public class MethodOverload { /** * @param args */ public static void main(String ...

  7. bootstrap select下拉框模糊搜索和动态绑定数据解决方法

    此方法适合后台一次性返回所有数据好了废话不多说直接上代码: <!DOCTYPE html><html><head> <title>Bootstrap-s ...

  8. Springboot-H2DB

    为什么在Springboot中用H2DB 用Springboot开发需要连接数据库的程序的时候,使用H2DB作为内存数据库可以很方便的调试程序. 怎么用 1.加入依赖 <dependency&g ...

  9. leetcode-mid-Linked list- 103. Binary Tree Zigzag Level Order Traversal

    mycode 99.24% # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x) ...

  10. lazyload懒加载插件

    在main.js中引入vue-lazyload插件  并使用 注册插件: import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{ lo ...