sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
这条命令会从互联网的软件仓库中安装git-core和curl。
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件(因为Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多个项目组成,如果我们分别使用Git来逐个获取显得很麻烦,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得项目的获取更加简单)。
curl http://android.git.kernel.org/repo >~/bin/repo
这句命令会下载repo脚本文件到当前主目录的/bin目录下,并保存在文件repo中。
最后我们需要给repo文件可执行权限
chmod a+x ~/bin/repo
export PATH=$HOME/bin:$PATH
接下来我们就可以利用repo脚本和Git、curl软件获取Android的源代码了。
首先建一个目录,比如~/android,并进入该目录。
然后使用下面命令获取源码:
./repo init –u git://android.git.kernel.org/platform/manifest.git
这个过程会持续很长的时间下载完毕后会看到repo initialized in /android这样的提示,说明本地的版本库已经初始化完毕。
在运行这个工具的时候,它首先会去检查当前目录下的.repo目录,然后从脚本内置的(或命令行指定的)一个地址 git://android.kernel.org/tools/repo.git 去使用git clone一份最新的repo工具的完整的版本库放置到 .repo/repo 目录下,之后checkout出最新的代码。这些代码就是repo的其它部分的代码。这其中的 main.py 就是repo构建工具的主干入口代码。
而在之前的构造过程中的调用命令 $ repo init -u git://android.git.kernel.org/platform/manifest.git 中,repo首先完成了前面所说的对自身的更新和初始化,然后通过调用后面补充进来的代码完成init的操作。在这个操作中, repo从 git://android.git.kernel.org/platform/manifest.git 这个地址下载了一份整个源码仓库的清单的版本库,并checkout出一份最新的清单,即 .repo/manifests/default.xml 文件。该文件是一个xml文件,在这个文件中描述了获取代码的远程版本库地址、其中所涉及到的每个项目的地址等等。下面是其中一部分:
<manifest branch="master">
<remote name="korg"
fetch="git://android.git.kernel.org/"
review="review.source.android.com" />
<project path="bionic" name="platform/bionic" />
<project path="external/clearsilver" name="platform/external/clearsilver">
<import>
<remap strip="clearsilver-%version%/" />
<mirror url="http://android.git.kernel.org/pub/clearsilver-%version%.tar.gz" />
<snapshot version="0.10.5" check="ec5fff5d7367ddd29a619cf81ae264687fde94c8" />
</import>
</project>
... ...
</manifest>
这里只是截取了其中一小部分的片段用来说明问题。
remote节点的fetch属性描述了远程的版本库的基本地址,之后是一系列的project节点。每一个project节点都有一个path和 name属性,path是该项目在本地的存储地址,如bionic则是存储在本地的 ./repo/projects/bionic 下面,而name属性是远程版本库中的路径,与remote的fetch的地址结合起来即可得到该项目的版本库地址,如bionic的版本库是在 git://android.git.kernel.org/platform/bionic
而有的project定义中有import节点,该import节点中定义的一般都是该项目所依赖的第三方的独立项目,这些项目是没有历史版本信息的,因此只是一个tar.gz的包。repo在同步的过程中会将其下载下来,解压、加入到该项目的版本库中,并打上一个tag标记。
通过这个清单文件,repo可以实现整个源码库的随时更新和同步,这也是基于git的版本控制的特性所带来的独特的优势。
如果我们想拿某个分支版本的代码,而不是主线代码,需要使用-b参数指定branch的名字,比如:
./repo init –u git://android.git.kernel.org/platform/manifest.git –b cupcake
如果我们只是想获取某一个project的代码,比如kernel/common,就不需要repo脚本了,直接使用Git工具即可,如果仔细研究 repo脚本会发现,repo脚本其实就是组织Git工具去获取各个Project并把它们组织到同一个项目Android内,比如:
git clone git://android.git.kernel.org/kernel/common.git
我们上面使用repo脚本获取了各个项目,那么接下来就需要把整个Android代码树同步到本地,如下:
./repo sync
这样就获得了我们所需要的Android源码
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/magicyu2/archive/2009/10/26/4729804.aspx
分享到:
相关推荐
This is android source for the source of android code.
android 源代码 source android 源代码 source android 源代码 source android 源代码 source android 源代码 source android 源代码 source android 源代码 source
android 1.6 source 源码,用7zip解压。 解压为 android-sdk-windows\platforms\android-4\sources\ 可解决 eclipse 调试时 android 项目时报“Source not found”问题。也方便查看 android 源代码。
android-2.2 source文件 eclipse中绑定android源码的方法 1.下载android-2.2 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...
android-4.0 source文件 eclipse中绑定android源码的方法 1.下载android-4.0 source 2.解压放在android.jar所在目录的sources里即可(注意是sources而非source)。 比如我android.jar所在目录为 D:\android-sdk...
android 19 source for download
An android ebook reader source code.
Android 22 SDK source, 放到sdk/sources文件夹下即可。
Beginning Android 2 Source for eclipse 3.5 (android-sdk-windows-2.0.1)
Beginning Android 4 Source for eclipse 3.7 (android-sdk-windows-4.0.3)
最新android 4.2源码,压缩后18M。下载之后,使用解压到*\adt-bundle-windows-x86_64\sdk\ 目录下,然后就可以...若仍不能查看,点击出现的attach source按钮,选中解压的source文件夹下的android目录,就可以看了。
android 2.3.3 source 源码,用7zip解压。 解压为 android-sdk-windows\platforms\android-10\sources\ 可解决 eclipse 调试时 android 项目时报“Source not found”问题。也方便查看 android 源代码。
android ophone source code 4
android source code -Bluetooth: 对于android 源码的分析很有用,此处是Bluetooth的android 源码。
用于android source code下载
android-23 sdk source 导入eclipse idea android studio都可以直接使用
Android 19 SDK source, 放到sdk/sources文件夹下。
get android source code