关闭

android 源码下载

367人阅读 评论(0) 收藏 举报

首先声明,别人那里转载过来的,发现有些问题,整理一下,重新发布

下载msysgit,安装

官方下载:http://code.google.com/p/msysgit/downloads/list,至今最新帮本已到1.8

打开Git Bash,执行命令

cd D:    // 建议建立一个 放源码的文件夹,此处为转载,不再修改之前信息      
 
git clone http://android.googlesource.com/platform/manifest.git    // 此处特别说明是 http,不是https,要不然你就只能撞墙了

输入命令,切换到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

/* 此处也是必须要 http 协议 */
prefix = git + " clone http://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)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18762次
    • 积分:341
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:21篇
    • 译文:0篇
    • 评论:4条
    文章分类