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:打开这 ...
随机推荐
- 【SaltStack官方版】—— states教程, part 3 - 定义,包括,延伸
STATES TUTORIAL, PART 3 - TEMPLATING, INCLUDES, EXTENDS 本教程建立在第1部分和第2部分涵盖的主题上.建议您从此开始.这章教程我们将讨论更多 s ...
- LeetCode--114--二叉树展开为链表(python)
给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6将其展开为: 1 \ 2 \ 3 \ 4 \ ...
- 数组对象去重 reduce()
let log = console.log.bind(console); let person = [ {id: 0, name: "小明"}, {id: 1, name: &qu ...
- ARC模式下delloc()注意事项
1.ARC模式下delloc()调用触发时机是对象被销毁,如self.属性=nil 2.ARC模式下delloc()里面不需要手动调用[super dealloc]; 因为系统已经自动调用,多此一举的 ...
- Java的基本使用
1.如何运行一个Java源码 打开文本编辑器,输入以下代码: public class Hello { public static void main(String[] args) { System. ...
- C. Anna, Svyatoslav and Maps
C. Anna, Svyatoslav and Maps 给定一个有向图,给定一条有向路径,求一条顶点最少的路径,使得给定的路径是它的最短路 folyd预处理出任意两点间的最短路,然后判断是否可以缩点 ...
- 1.Windows下安装nginx
1. 到nginx官网http://nginx.org/上下载相应的安装包 下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在了d盘根目录下,如下图所示: 进入window的cm ...
- 运行job检验单元测试覆盖率
http://ns.jenkins.baidu.com/user/anyixing/my-views/view/Map_ut/job/poi-zhunru/ 1在http://ns.jenkins.b ...
- Seaborn 绘图代码
seaborn单变量.多变量及回归分析绘图 https://blog.csdn.net/llh_1178/article/details/78147822 Python数据科学分析速查表 https: ...
- ES6 Object.setPrototypeOf ()方法和defineProperty()方法的使用
将一个指定的对象的原型设置为另一个对象或者null(既对象的[[Prototype]]内部属性). 示例: <script type="text/javascript"> ...