本文转自William Hua的Blog ,原文在此 。
———————————————–
Git 是 Linux Torvalds 为了帮助管理 Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper 、Mercurial 、GNU Arch 、Bazaar 、Darcs 、SVK 、Monotone 等),每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响 。
因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。
这几天William为了拿Android最新的sourcecode,学习了一下git和repo的一些基本操作,整理了一个如何取得Android代码的How-To,今天把他贴上来。
1、Git的安装
在Ubuntu 8.04上安装git只要设定了正确的更新源,然后使用apt-get就可以了,有什么依赖问题,就让它自己解决吧。其中cURL是一个利用URL语法在命令行下工作的文件传输工具,会在后面安装Repo的时候用到。
sudo apt-get install git-core curl
2、安装Repo
首先确保在当前用户的主目录下创建一个/bin目录(如果没有的话),然后把它(~/bin)加到PATH环境变量中
接下来通过cURL来下载Repo脚本,保存到~/bin/repo文件中
curl http://android.git.kernel.org/repo >~/bin/repo
别忘了给repo可执行权限
chmod a+x ~/bin/repo
3、初始化版本库
如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。
先建立一个目录,比如~/android,进去以后用repo init命令即可。
repo init -u git://android.git.kernel.org/platform/manifest.git
这个过程会持续很长的时间(至少可以好好睡一觉),具体要多少时间就取决于网络条件了 (今天我尝试的时候发现这个过程很短,此时并没有下载源代码。下载代码需要在此命令完成后运行repo sync )
最后会看到 repo initialized in /android这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。
如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
另一种情况是,我们只需要某一个project的代码,比如kernel/common,就不需要repo了,直接用Git即可。
git clone git://android.git.kernel.org/kernel/common.git
这也需要不少的时间,因为它会把整个Linux Kernel的代码复制下来。
如果需要某个branch的代码,用git checkout即可。比如我们刚刚拿了kernel/common.get的代码,那就先进入到common目录,然后用下面的命令:
git checkout origin/android-goldfish-2.6.27 -b goldfish
这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27同步。我们可以通过git branch来列出本地的所有分支。
4、同步版本库
使用epo sync 命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似
repo sync project1 project2 …
这样的命令来同步某几个项目
如果是同步Android中的单个项目,只要在项目目录下执行简单的
git pull
即可。
5、通过GitWeb下载代码
另外,如果只是需要主线上某个项目的代码,也可以通过GitWeb 下载,在shortlog利用关键字来搜索特定的版本,或者找几个比较新的tag来下载还是很容易的。
Git最初是为Linux内核开发而设计,所以对其他平台的支持并不好,尤其是Windows平台,必须要有Cygwin才可以。现在,得益于msysgit 项目,我们已经可以不需要Cygwin而使用Git了。另外,Git Extensions 是一个非常好用的Windows Shell扩展,它能与资源管理器紧密集成,甚至提供了Visual Studio插件。它的官方网站上有一分不错的说明文档 ,感兴趣的朋友可以看一看。
至于Git的参考文档,我推荐Git Magic ,这里还有一个Git Magic的中文版 。
分享到:
相关推荐
在Android开发过程中,有时我们需要深入理解系统的工作原理或者调试特定问题,这时查看Android源代码就显得尤为重要。Eclipse作为早期广泛使用的Android IDE,提供了查看源码的功能。本篇将详细介绍如何在Eclipse中...
《深入剖析新浪微博Android源代码》 在移动互联网时代,Android平台因其开源、灵活的特性,成为了开发者们构建应用程序的重要选择。作为中国最具影响力的社交媒体之一,新浪微博的Android客户端源代码是许多开发者...
### 获取Android源代码及建立本地版本库镜像 #### 一、获取Android源代码 **1. 安装Git** 为了获取Android源代码,首先需要安装Git版本控制系统。以下是具体的安装步骤: - 首先,确保系统可以访问互联网,并且...
【Android源代码讲解以及导入】 Android系统作为全球最流行的开源移动操作系统,其源代码的深入理解和分析对于开发者来说至关重要。Android源代码包含了整个系统的各个方面,包括内核、库、框架服务、用户界面以及...
这篇文档主要介绍了在Ubuntu 10.04上如何构建这样的环境,包括Samba服务的安装和配置,以及Android源代码的获取和编译环境的搭建。 首先,我们需要设置Samba服务,以便在开发过程中实现本地系统与Android源代码仓库...
Webrtc_android源代码获取以及编译 Webrtc_android源代码获取以及编译是指在Android平台上获取和编译Webrtc源代码的过程。为此,我们需要首先建立编译环境,下载源代码,然后编译和运行。 一、系统要求 为编译...
Android源代码是Google开发的开放源代码移动操作系统的核心组成部分,它为开发者提供了深入理解系统运行机制、定制化设备固件以及构建自定义应用程序的机会。Android系统由多个层次组成,包括Linux内核、硬件抽象层...
在Android开发中,获取网页源代码是常见的需求之一,特别是在进行网络编程时。在这个"android获取百度源代码"的示例中,我们将深入探讨如何利用HTTP连接的GET方法来实现这一功能。首先,我们需要理解HTTP协议的基础...
本教程将详述在Windows 7环境下获取Android源代码的步骤,帮助你节省宝贵的时间。 首先,你需要安装一些必备的工具。在这个压缩包中,包含了一个名为"python-3.3.0.msi"的文件,这是Python 3.3.0的安装程序。Python...
【标题】"nfcard for Android源代码"是一个专注于Android平台的开源项目,旨在实现读取各地NFC(Near Field Communication)公交卡的功能。这个程序允许用户通过具备NFC功能的Android设备来读取并可能使用公交卡信息...
1.3 下载、编译和运行Android源代码 1.3.1 下载Android源代码 1.3.2 编译Android源代码 1.3.3 运行Android模拟器 1.4 下载、编译和运行Android内核源代码 1.4.1 下载Android内核源代码 1.4.2 编译...
- 获取Android源代码可以通过官方渠道或其他可信来源获得。 - 编译源代码可以遵循官方文档提供的步骤,最终生成`output file`,该文件位于`(Android source)/out`目录下。 - 如果不方便自行编译,也可以获取他人...
3. **获取Android源代码**: 使用`repo`工具来管理源代码,它是一个Python脚本,负责协调多个Git仓库。首先,需要克隆`repo`到本地,然后运行`repo init`命令初始化一个配置文件,最后用`repo sync`同步源代码。 4...
在Android平台上,获取网页源代码是一项常见的任务,尤其在进行网络爬虫或者解析网页内容时。本篇文章将详细讲解如何在Android应用中实现这一功能。 首先,我们需要了解Android中的网络访问方式。Android提供了多种...
在"读取pdf文件android源代码"的项目中,开发者基于Vudroid进行了优化,减少了读取PDF文件的时间,提升了用户体验。这通常通过优化文件解析算法、利用硬件加速和优化内存管理来实现。 在Android中,读取PDF文件通常...
在源代码中,我们可以看到如何通过Android的HttpURLConnection或者Retrofit库来调用这些API,进行登录、获取文章、评论、分类等操作。了解RESTful API的使用是理解和修改此客户端的关键。 三、Android组件和服务 ...
1. **获取Android源代码**:可以通过官方提供的方法来获取最新的Android源代码。参考文档《如何获取Android源代码并编译》提供了具体步骤。 2. **编译源代码**:获取源代码后,根据文档指导完成编译过程,这一步将...
该安卓订餐源代码项目是为移动应用开发者提供的一个学习和参考资源,旨在帮助他们了解如何使用Android Studio 4.0或更高版本构建一个完整的订餐应用。Android Studio是一款强大的集成开发环境(IDE),专为Android...
通过这个链接,开发者可以获取到完整的 Android 4.0 源代码,这对于希望深入研究 Android 内部实现或者定制自己的 Android 版本的人来说非常重要。 下载源代码的过程通常包括以下几个步骤: 1. **安装必要的开发...