Android源码下载——用git clone实现单个目录下载
来源:互联网 发布:python正则匹配ip地址 编辑:程序博客网 时间:2024/05/21 21:45
http://blog.csdn.net/droidpioneer/article/details/6612026
对于Android开发的学习者来说,当学习和开发实践进行到了一定的阶段,就应该深入到Android系统的源代码中去了。
通过对源代码的研究、学习,可以熟悉Android发布的基本应用模块如Launcher、Contact、Email等的实现原理和开发方式,还可以深入到framework框架层、核心库层、Linux Kernel层等底层模块。
那么,怎么才能获取到Android的源代码呢?
Android官方网站http://source.android.com/source/downloading.html对源代码的下载有详细的介绍,大家可以按照网站上介绍的方法一步步操作就可以了。
本文向大家介绍的是如何只对个别目录进行下载的方法,因为一方面由于网速的原因,很多时候完整下载所有的代码是办不到的,另一方面,我们可能只关心个别目录的源代码而已。
需要指出的是,Andrid的的源代码需要在Linux环境下下载的,在Windows环境下下载源代码的话大家可以安装Cygwin工具(PS:用Cygwin还可以在Windows下开发Android NDK 应用),配置好后下载方法是一样的。
好了,单个目录源码下载的具体步骤是:
第一步,按照官方网站的方法配置好git 和repo及相关的环境变量。
第二步,用 git clone方法对感兴趣的目录分别下载。
对于第二步,我们可以参考下面的例子。
源代码所在的地址是:http://android.git.kernel.org/
如果我们要对所有的Android源代码进行下载,下载命令是:
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync
当然,如果我们只想下载Android 2.3 gingerbread版的完整源代码,加上分支选项:
repo init -u git://android.git.kernel.org/platform/manifest.git –b gingerbread
repo sync
好了,如果只想下载单个目录的代码,参见下面的例子:
仅下载Launcher:
git clone git://android.git.kernel.org/platform/packages/apps/Launcher2.git
仅下载 Android 2.2 froyo版的Launcher:
git clone git://android.git.kernel.org/platform/packages/apps/Launcher2.git –b froyo
分别下载Android 2.2 froyo版的framework的各个目录:
git clone git://android.git.kernel.org/platform/frameworks/base.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/base.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/policies/base.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/ex.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/opt/com.google.android.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/opt/com.google.android.googlelogin.git -b froyo
git clone http://android.git.kernel.org/platform/frameworks/opt/emoji.git -b froyo
其他的例子就类推了,如果不清楚究竟哪些目录有git下载节点,可以直接通过浏览器访问http://android.git.kernel.org/网站了解Android源代码的分支结构:
对于如何完整下载Android源代码的更多细节,大家也可以参考下下面链接里的介绍:
http://www.cnblogs.com/chunhui588/archive/2010/07/04/using-git-repo-to-get-android-sourcecode.html
下面是其转帖:
使用Git和Repo获取Android源码
在某些情况下我们需要查看Android的源码或对其进行重新编译,目前只支持在Linux或者Mac OS上编译Android源码,暂不支持Windows.所以本篇介绍一下如何在Ubuntu上获取Android源码。
Android源码大约有2.1GB,在这里可以看到它的结构和更新记录。
下载Android源码需要用到Git和Repo。Git是一个开源的分布式版本控制软件,它非常适合管理很大的项目,项目文件可以分布储存在多个 Git repositories(仓库), 这样可以很方便地创建分支,进行版本比较等,所以Android也用它来进行源码管理。 Repo是基于Git的工具,它可以让我们更方便地管理Git repositories.
接下来我们要在Ubuntu上面安装这两个工具, 在安装之前要先安装一些必要的Linux Packages: JDK 5.0(Java 6不支持因为@Override的不兼容), lex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
在Ubuntu的Terminal运行以下命令: $ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
这里需要注意的是sun-java5-jdk的源在Ubuntu9.10后就没有了, 所以安装sun-java5-jdk 要切换Sources.list才能安装,具体可以参考这篇Blog.(注:只是下载代码貌似不用JDK也没多大问题)
Git(上面的git-core)装完了,接下来装Repo, 在home目录创建bin目录,然后获取Repo并授于它执行的权限:
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
接下来把bin目录加入$PATH:
$ export PATH=$HOME/bin:$PATH
再接着在home目录创建mydroid目录用来存放Android源码
$ mkdir mydroid
$ cd mydroid
最后下载Android源码:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
- Android源码下载——用git clone实现单个目录下载
- Android源码下载——用git clone实现单个目录下载
- Android源码下载——用git clone实现单个目录下载
- Android源码下载——用git clone实现单个目录下载
- Android源码下载——用git clone实现单个目录下载
- 用git clone实现单个目录下载
- 用git clone实现单个目录下载
- android git 下载单个工程
- Android 源码下载方法(Git 方式clone)
- 下载单个模块android源码
- 用git下载单个分支
- git 下载 android 源码
- android git 下载源码
- git android源码下载
- Android 源码下载完成后,如何切换单个Git库的版本到历史任意版本?
- 用git下载android源码(zz)
- Windows下用Git下载android源码
- Windows下用Git下载android源码
- NoClassDefFoundError: org/objectweb/asm/Type
- Download Android Source Code in Windows
- 【MFC】基于windows media player的音乐播放器
- sqlserver2008 安装
- 项目从tomcat5升级到tomcat6中、el表达式与jsp版本不兼容问题、the JDBC Driver has been forcibly unregistered)
- Android源码下载——用git clone实现单个目录下载
- Javascript预编译和处理
- poj2940 Wine Trading in Gergovia-----想法题
- 重写FLEX组件 --资料收集
- CSDN博客开通了
- : hibernate hql 书写 投影查询 问题
- Struts2 国际化资源表达式用法
- 将二叉树的两个孩子换位置,即左变右,右变左。不能用递规
- 编程规范