接触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.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)

这是网上转载的,转载地址: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吧。

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  3. Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
  4. 2014.01.21 ——— android 关联android-support源码
  5. android 获取唯一标识
  6. android拍照与读取相册
  7. 细数Android(安卓)Studio中使用junit4测试框架中的坑
  8. Android(安卓)热点开关状态的判断和获取热点ssid
  9. Android软键盘适配问题

随机推荐

  1. Android--第一行代码笔记(2)
  2. Android的Recyclerview的使用
  3. 【Android】HTTP协议的经典讲解
  4. Android实现透明的颜色效果(zz)
  5. 【解疑答惑】—— android:maxLines="1"
  6. Android重要控件概览(中)
  7. Android艺术开发探索学习笔记——第二章:I
  8. 三位一体!Android Ice Cream Sandwich可能
  9. Android进程间通信--消息机制及IPC机制实
  10. Android 高效的SQLite型数据库greenDAO使