Windows 中下载 Android Q 源码
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 源码的更多相关文章
- Android 如何在Eclipse中查看Android API源码 及 support包源码
当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...
- 【转】Android 如何在Eclipse中查看Android API源码 及 support包源码
原文网址:http://blog.csdn.net/vipzjyno1/article/details/22954775 当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都 ...
- 在Eclipse中关联Android API源码
在Eclipse中快速关联API源码,便于查看类以及方法.方法如下: 1. 在对应的项目文件右键——>properties——>java build path——>libraries ...
- Android 快速下载 Android framework 源码
官网 Android framework源码git地址 github: https://github.com/android/platform_frameworks_base google 官方: h ...
- 如何在Eclipse中查看Android API源码以及support包源码
http://my.eoe.cn/futurexiong/archive/181.html 开发第三方Android应用的,大多数人应该还是Eclipse结合ADT来开发.那么大多数时候我们可能希望点 ...
- maven中下载jar包源码和javadoc
1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...
- window下载android 最新源码
https://blog.csdn.net/jason0539/article/details/24010633 2017方法 ok https://www.cnblogs.com/zhangting ...
- 怎样将Android SDK源码 导入到Eclipse中?
在Eclipse中导入android sdk源码 http://blog.csdn.net/hahahacff/article/details/8590649
- 关于查看Android系统源码【Written By KillerLegend】
可能你会想下载Android系统源码,但是我不知道你会看多少系统的源码,如果你对源码只是偶尔看一次的话,推荐你在线看Android的系统源码,下面提供几种查看android系统源码的方法. 1:打开这 ...
随机推荐
- 【NOIP2013模拟】归途与征程
题目 分析 好吧...明显是暴力题. 首先,把A串分成只有小写字母组成的小分串,按顺序存放:A[1].A[2].A[3]--. 对于同构循环串,显然把两个B串合在一起,成为一个新的C串.\(C[i.. ...
- 【JavaScript】包装类
包装类 String().Number().Boolean() String() 可以将基本数据类型的字符串转换为String对象 var string = new String("hell ...
- 所有input输入完成后,改变按钮颜色
$(function(){ $('input').on('input propertychange',function(){ if(($.trim($('.add1').val())!==" ...
- ndn挖坑记(二)
目录 如何使用ndnSIM运行自己的仿真实验 基本要点 开始动手 BUG记录 如何使用ndnSIM运行自己的仿真实验 基本要点 仿真场景可以在NS-3目录下的scratch/ or src/ndnSI ...
- 把图片画到画布上,适应PC和移动端
画一张图片到画布上 <canvas id="myCanvas" width="1000px" height="200px" >您 ...
- Java 有关类字段的初始化
实例代码 package text; public class MethodOverload { /** * @param args */ public static void main(String ...
- bootstrap select下拉框模糊搜索和动态绑定数据解决方法
此方法适合后台一次性返回所有数据好了废话不多说直接上代码: <!DOCTYPE html><html><head> <title>Bootstrap-s ...
- Springboot-H2DB
为什么在Springboot中用H2DB 用Springboot开发需要连接数据库的程序的时候,使用H2DB作为内存数据库可以很方便的调试程序. 怎么用 1.加入依赖 <dependency&g ...
- 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) ...
- lazyload懒加载插件
在main.js中引入vue-lazyload插件 并使用 注册插件: import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{ lo ...