您的位置:首页 > 移动开发 > Android开发

Win7_32bit 系统下载 Android 源代码

2014-07-28 10:42 357 查看

Win7_32bit 系统下载 Android 源代码  

2013-01-06 12:55:48|  分类:

Android |举报
|字号 订阅

/*

1、msysgit是
Git 版本控制系统在 Windows 下的版本。

2、文章来源 http://blog.csdn.net/hlf48641715/article/details/7188450,并适当加入一些修改和说明
3、红色标记为必须输入项

*/

1、下载msysgit,安装。 < 官方下载:http://code.google.com/p/msysgit/downloads/list >

2、运行 X:\msysgit\msysgit\msys.bat; < X 代表你安装的盘符,如 C、D等>

3、输入命令,参考附图:

           cd X: < X 代表你想要安装的盘符,建议除 C 盘之外的盘符>

           git clone https://android.googlesource.com/platform/manifest.git
4、输入命令,参考附图:

            cd manifest < 切换到manifest目录 >

            git tag < 列出android各个分支版本 >

 

5、选择自己想要的版本源码,如 android-2.2_r1,敲命令
git checkout android-2.2_r1

*** 执行以上操作,manifest 目录下会生成一个名为 default.xml 的 XML 文件,其中记录的就是android2.2系统各个模块的路径 ***

-----------------------------------------------------------------------------------------------------------

default.xml 文件简要分析

     以 bionic 为例

     ...

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

     ...

     path 属性表示 bionic 源码的相对路径 <假设android源码在d:/android-source,下载bionic之后,应该存放在d:/android-source/bionic目录>

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

-----------------------------------------------------------------------------------------------------------

    Android源码中project很多,一个一个下载比较麻烦,本人写了一个python脚本,双击download-src.py执行此脚本,就可以将android完整源码下载到本地。

    PS:

    1、执行此脚本的前提是已经执行了git checkout,选择好了要下载的Android源码版本,如果你的manifest文件不是D:/manifest/default.xml,请自行修改脚本。

     2、如果长时间没有响应看,请尝试把 https://android.googlesource.com/ 中 https 修改为 http。

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/ 9ea0
" 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: