• 转:Windows下载Android源码


    原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450

    下载msysgit,安装

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

    打开Git Bash,执行命令

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

     

    输入命令,切换到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 pathrootdir = "D:/android-source"
    
    #git program pathgit = "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)
  • 相关阅读:
    游戏AI系列内容 咋样才能做个有意思的AI呢
    图片缩放的相关处理
    Lua 安全调用 metatable 的简单应用
    让Lua自己把文件夹下面的所有文件自动加载起来吧
    【原创】有利于提高xenomai 实时性的一些配置建议
    环境篇:Docker
    环境篇:Virtualbox+Vagrant安装Centos7
    环境篇:VMware Workstation安装Centos7
    软件篇:前端保姆->VSCode
    大数据篇:ElasticSearch
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/3555448.html
Copyright © 2020-2023  润新知