下载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-4.1系统源码,输入下面命令,如果要下载其他版本源码,checkout git tag列出的版本号即可

git checkout android-4.1.1_r4

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.minidomimport osfrom 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.documentElementprefix = 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)

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 使用NetBeans搭建Android开发环境
  3. android studio Could not find com.android.support.constraint
  4. 2014.01.21 ——— android 关联android-support源码
  5. 细数Android(安卓)Studio中使用junit4测试框架中的坑
  6. Android--SoLoader,android动态加载so库
  7. Android(安卓)命令行编译、打包生成apk文件
  8. Android内容提供者源码
  9. android源码下载方式

随机推荐

  1. Android之EditText只能输入数字或自定义
  2. Android ViewAnimation 使用详解
  3. Android动画机制(1):帧动画、补间动画详解
  4. 如何在Android系统源码中添加一个C项目?
  5. android 图片的缩放,bitmap的用法
  6. Android,ijkplayer增加https协议支持,编译
  7. Android电源管理简介(上)
  8. Dagger2的理解和使用
  9. Android基于XMPP Smack openfire 开发的
  10. android:configChanges=”locale”