android 源代码获取

接触Android差不多一年多了,这是我的第一篇博文,从今天开始,我会坚持写文章,记录自己日常学习心得。好了,言归正传。

要想深入研究android,分析android源代码是必不可少的一步。网上有很多相关的教程,我自己亲自试了一下,在此做个总结。

Android 源代码是用GIT分布式版本控制工具管理的,要想获取源码,我们无法用普通方式下载,只能通过GIT获取。

一、windows 平台下获取源码

1、先下载Git For Windows ,安装。打开Git Bash,执行

cd D:

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

输入命令,切换到 manifest 目录下,使用 git tag 列出 android 各个分支版本

下载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)

这是网上转载的,转载地址:http://blog.csdn.net/hlf48641715/article/details/7188450

我就是使用的这种方式获取的源码。

2、其实还有别的方式

使用 Cygwin + curl + repo (利用 curl 获取) + git

二、linux 平台下获取源码

linux 平台下获取也一般是采用  curl + repo (利用 curl 获取) + git 方式。网上有很多相关教程,在这里我就不写了,大家有需要的自己百度啦!

 

需要注意的是:android 版本源代码以前是放在 http://android.git.kernel.org  目录下,现在这个目录已经被重定向到 https://android.googlesource.com/ 大家把相应的访问地址使用这个目录。如果还有碰到一些链接无法访问的情况,试试修改hosts文件,网上教程很多的,大家自己GOOGLE吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值