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:打开这 ...
随机推荐
- Web应用防火墙云WAF详细介绍
Web应用防火墙,或叫Web应用防护系统(也称为:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行 ...
- webstorm注册码,亲测2016.1.1版
打开webstorm,点击帮助,注册 注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog. ...
- 跳转控制语句continue
1 continue的使用场景: 1.1 在循环语句中 注意:离开使用场景的存在是没有意义的 2 continue的作用: 2.1 单层循环对比break,然后总结两者的区别 2.1.1 break ...
- sh_01_hello
sh_01_hello print("hello python") print("你好世界")
- CityMaker SDK与三维GIS城市
https://wenku.baidu.com/view/abc2a32f01f69e3142329426.html https://blog.csdn.net/weixin_38476447/art ...
- 如何理解重载与重写——Overload vs Override/Overwrite
重载: 在同一个类中,拥有类似功能的同名方法之间的关系叫做重载. 重载的条件:1.具有相同方法名和类似功能: 2.参数的类型或者个数不同: 3.与返回值无关: 重写: 在子父类的继承关系中,子类继承父 ...
- Alexa TOP 100万的域名列表
Alexa是一家专门发布网站世界排名的网站,是亚马逊公司的一家子公司.Alexa每天在网上搜集多达几十亿的网址链接,而且为其中的每一个网站进行了排名. Alexa通过Alexa官网查询好像TOP 50 ...
- daemon(守护、服务员)-t1.setDaemon(true) - 设置为守护线程
daemon(守护.服务员)t1.setDaemon(true) - 设置为守护线程 class KTV extends Thread{ public void run(){ try { Thread ...
- H5 刮图-刮一刮
<!DOCTYPE html><html><head><style>*{margin:0;padding:0} </style></h ...
- .net 4.5 Test Async Task 异步测试
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...