Windows下载Android源代码

Windows下载Android源代码

下载msysgit,安装

官方下载:http://code.google.com/p/msysgit/downloads/list

 

打开Git Bash,运行命令

cd D:

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

 <span>Windows下载Android源代码</span>

输入命令,切换到manifest文件夹

cd manifest

git tag 列出android各个分支版本号

git tag

下载android-2.2系统源代码,输入以下命令,假设要下载其它版本号源代码,checkout git tag列出的版本号号就可以

git checkout android-2.2_r1

checkout之后,manifest/default.xml文件里记录的就是android2.2系统各个模块的路径

 

我们来分析一下default.xml文件,

以bionic为例,path属性表示bionic源代码的相对路径,如果android源代码在d:/android-source,下载bionic之后,应该存放在d:/android-source/bionic文件夹

name属性是bionic源代码在库上的路径,完整的路径就是:http://android.googlesource.com/platform/bionic.git,有了源代码下载路径,运行git clone就能够将bionic源代码下载到本地

 

<project path=”bionic” name=”platform/bionic” />

 

Android源代码中project非常多,一个一个下载比較麻烦,本人写了一个python脚本,双击download-src.py运行此脚本,就能够将android完整源代码下载到本地。

PS:运行此脚本的前提是已经运行了git checkout,选择好了要下载的Android源代码版本号,假设你的manifest文件不是D:/manifest/default.xml,请自行改动脚本。

 

download-src.py源代码:

import xml.dom.minidom
import os
from subprocess import call

#downloaded source path
rootdir = "D:/android-source"

#git program path
git = "D:/Program Files/Git/bin/git.exe"

dom = xml.dom.minidom.parse("D:/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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119107.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2018以太坊编程语言solidity最佳IDE

    2018以太坊编程语言solidity最佳IDE

    2021年6月11日
    146
  • 电子计算机主机房国标,中华人民共和国国家标准电子计算机机房设计规范[通俗易懂]

    电子计算机主机房国标,中华人民共和国国家标准电子计算机机房设计规范[通俗易懂]中华人民共和国国家标准电子计算机机房设计规范中华人民共和国国家标准电子计算机机房设计规范GB50174-93(1993年2月17日国家技术监督局、中华人民共和国建设部联合发布1993年9月1日实施)——————————————————————————–第一章总则第1.0.1条为了使电子…

    2022年10月2日
    3
  • springboot——kaptcha

    springboot——kaptcha导入包: <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency>配置类:p…

    2022年6月18日
    21
  • MATLAB绘制统计折线图

    MATLAB绘制统计折线图MATLAB绘制实验数据折现图  在论文或者文章写作中,经常需要使用图形来表示我们的实验结果。一般来说,这种表示方式比表格更加直观、更加可视化。因此,本文给出一种使用MATLAB处理数据得到折线图的教程。1.待处理数据形式  待处理的数据为迭代次数与SR、time、RC、length、steerNum、steerAngle、validNode这七个指标的走势图。即随着迭代次数的增加,这七个指标的走势情况。并且,实验数据包含一个改进和两个对比,三个数据都保存在txt文件中,如下所示。dealme

    2022年6月10日
    33
  • sqlserver如何复制数据库_sql数据库复制到另一台电脑

    sqlserver如何复制数据库_sql数据库复制到另一台电脑快照复制:通过设定固定的时间周期 进行复制,时间周期范围可以任意设置在一分钟到一个月之间,是三种复制功能中最稳定的。事物复制:通过实时监测数据库更新,在每次 更新时对数据和数据库对象进行复制,实时性能 最好,但SQLServer个人版本无法提供事物复制功能,企业版本虽然有该功能,但不能对数据内容进行筛选,实用性和稳定性都比快照复制低。合并复制:指两个数据库之间

    2022年8月31日
    1
  • layui弹出层提交表单![通俗易懂]

    layui弹出层提交表单![通俗易懂]本文章使用layui框架,提交表单,如果使用其他的框架请右上角!首先设置弹出层如下图:layer.open({ type:2, title:"信息編輯", area:[‘45%’,’35%’], shade:0, sha…

    2022年5月6日
    590

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号