Google官方下载源码使用的系统Ubuntu系统,不过现在我们需要在Windows系统中下载Android源码文件。

网站的地址是:https://android.googlesource.com/

里面包括Android系统各个部分的源码,我们只需要下载platform就行

点击进入即可看到下载地址

地址是:https://android.googlesource.com/platform/manifest

1.准备工作

Android的源代码管理使用的是Git,所以安装Git必不可少,Windows系统中使用的是mysysgit目前的版本是Git-1.9.5-preview20150319.exe,自行搜索下载。源代码下载是使用Python脚本来完成的,所以还需要安装一个python环境。

2.下载XML描述文件

进入一个文件夹,用来存储XML描述文件,打开Git Bash执行如下命令

git clone https://android.googlesource.com/platform/manifest

不出意外的话很快就会下载完成,如果出现中断,请使用科学上网的方法重新下载,这里推荐一个乱炖hosts:http://levi.yii.so/archives/3553

下载完成后,执行如下命令:

git tag

选择相需要下载的版本,然后执行如下命令,检出相应的版本信息,这里已android-5.1.1_r8为例:

git checkout android-5.1.1_r8

在default.xml文件中就定义了android源码的路径。

3.编写python脚本下载源码

文件内容如下,然后再进行具体解释:

import xml.dom.minidom
import os
from subprocess import call #downloaded source path
rootdir = "D:/Android/source/android-5.1.1_r8" #git program path
git = "C:/Program Files (x86)/Git/bin/git.exe" dom = xml.dom.minidom.parse("D:/Android/source/manifest/default.xml")
root = dom.documentElement prefix = git + " clone https://android.googlesource.com/"
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)

第6行:rootdir 表示源码的存储路径

第9行:git 表示git的安装路径

第11行:刚刚下载检出的default.xml文件路径

如果路径有不同的地方,根据自己的境况修改

最后一步就是执行这个python脚本进行下载,,,等着吧。。。

python download-src.py

Windows平台下载Android源码(整理)的更多相关文章

  1. 【Linux/Ubuntu学习6】unbuntu 下载android源码

    在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码. 以下为在Ubuntu下下载Google Android4.4源码的步骤: 1. 安 ...

  2. 通过清华大学镜像下载Android源码并编译源码

    之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...

  3. 下载android源码

    http://source.android.com Step 1.按照http://source.android.com/source/initializing.html配置好android编译环境 ...

  4. [Android] repo 下载Android源码(国内镜像)

    reference : http://blog.csdn.net/shenlan18446744/article/details/51490560 repo 下载Android源码(国内镜像) 下载r ...

  5. 转:Windows下载Android源码

    原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450 下载msysgit,安装 官方下载:http://code.google. ...

  6. (国内)完美下载Android源码Ubuntu版

    今天写的文章莫名奇妙的没了,所以再重新写一篇. 首先,为了方便起见,我已经将系统更换成里Ubuntu,因为官方推荐使用这个Linux发行版.先来一张系统的截图: Ubuntu的版本是16.04(推荐用 ...

  7. 如何下载android源码与android内核源码

    首先,要分清楚,android的源代码和android的内核代码一般是分开的,要分别进行下载. 1.先下载android的源代码.(这里不包括android的内核代码)      下载最新的源代码,一 ...

  8. 安装ubuntu16虚拟机,下载android源码,配置编译环境

    Android 源码编译步骤: 我考虑了一下,目前电脑装了SSD,8G内存,使用虚拟机编译源码应该够用. 首先下载虚拟机软件,由于最近一直在使用virtualbox,感觉蛮不错了,下载地址: http ...

  9. 快速下载android源码

    众所周知的原因,android源码被墙了,还好国内有不少镜像,这里使用清华提供的镜像. 以下内容转自: https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/an ...

随机推荐

  1. 关于tp5自动过滤index.php

    在public/.htaccess 中输入这段代码即可实现过滤index.php <IfModule mod_rewrite.c> Options +FollowSymlinks -Mul ...

  2. BZOJ 4872 luogu P3750 [六省联考2017]分手是祝愿

    4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description ...

  3. jvm常见的面试题

    1. 内存模型以及分区,需要详细到每个区放什么. 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点. 3. 对象创建方法,对象的内存分配,对象的访问定位. 4. GC ...

  4. window.open() 打开的子页面 往主页面传参问题

    <!--主页面的代码--><!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  5. 面向连接的tcp 编程

    from socket import * serverSocket=socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",8899)) ...

  6. 图灵一代接入V1

    现在官方没有一代接入了,但是还是可用,留个方法 $.ajax({ type:"post", url:"http://www.tuling123.com/openapi/a ...

  7. logback的使用和logback.xml详解,在Spring项目中使用log打印日志

    logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分 ...

  8. leetcode56

    public class Solution { public IList<Interval> Merge(IList<Interval> intervals) { var le ...

  9. __enter__ 和 __exit__上下文管理协议

    class F: def __init__(self,n): self.n = n def __enter__(self): print('执行enter') return self def __ex ...

  10. Python程序互斥体

    Python程序互斥体   有时候我们需要程序只运行一个实例,在windows平台下我们可以很简单的用mutex实现这个目的.   在开始时,程序创建了一个命名的mutex,这个mutex可以被其他进 ...