How to download sourcecode of android with cygwin

cygwin是一个在windows平台上运行的linux模拟环境,工作机制这里就不赘述了,我也不关心这个问题。
1.cygwin的下载与安装
http://www.cygwin.cn/site/install/
(1)下载后点击setup.exe进行安装,安装模式有"Install from Internet"、"Download form Internet"、"Install from Local Directory" 三种。"Install from Internet"就是直接从internet上装,适用于网速较快的情况。如果网速不是很快,或者说装过之后想把下载的安装文件保存起来,下次不再下载了直接安装,就应该选择"Download from Internet",下载安装的文件(大约40M左右)。如果你选择了"Download from Internet",那么下载完后安装cygwin时要重新打开setup.exe,选择"Install from Local Directory"进行安装。
(2)接下来是选择安装目的路径和安装源文件所在的路径,之后就进入了选择安装包所在的路径。注意了阿,这里可是重头戏。我第一安装的时候就是没有看清这一步,结果没有把gcc装进去,导致没法编译文件。
   + All  Default
      + Admin Default
       ....
      + Devel   Default
      + Editors Default
      ....
如上图所示,你在这个TreeView的某个节点上单击,就可以改变它的状态,有Default、 Install、Uninstall、Reinstall四种状态。默认的都是Default状态,即不安装状态。在这里应在All这一行上后面的Default上单击,使其状态变为Install,即全部安装。
Choose Download Site,在Available Download Sites中选择http://www.cygwin.cn或者其他mirrors,不要选择前2个Site,速度机器慢。也可以在User URL中add一个http://www.cygwin.cn/pub/。
cygwin的使用
(1)双击桌面的Cygwin图标,即可启动Cygwin里的Bash。
(2)将C:/Cygwin/bin加到%PATH%当中,就可以直接在cmd.exe里面使用Linux命令了。
3.android源代码下载
打开cygwin输入
$mkdir /home/android   //创建工作目录(存放源代码的目录、及repo命令存放的目录)
$cd /home/android
$mkdir bin
//下载安装repo工具:repo是python语言编写的用于获取Android源代码的命令行工具
$curl http://android.git.kernel.org/repo> /home/android/bin/repo //将repo文件保存在bin目录下
$cd bin
$chmod a+x repo   //修改repo文件为可执行文件
准备下载Android:
$cd /home/android
$python ./bin/repo init -u git://android.git.kernel.org/platform/manifest.git -bcupcake
$Your Name [xxxxxx\Administrator]:
$Your Email [Administrator@xxxxx.]:
用户名和邮箱地址自定义即可,其实这步跳过也没有问题。
//下载源码:
$python ./bin/repo sync
唯一和linux不同的地方是该环境似乎没有内嵌支持python,因此需要用命令行python来调用repo脚本。


Git和Repo扫盲:如何取得Android源代码
Git是为了管理Linux内核而开发的一个分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中,每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。
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/文件中
curl http://android.git.kernel.org/repo >~/bin/repo
别忘了给repo可执行权限:chmod a+x ~/bin/repo
3、初始化版本库
(1)如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。先建立一个目录,比如~/android,进去以后用repo init命令即可。
repo init -u git://android.git.kernel.org/platform/manifest.git
这个过程会持续很长的时间(至少可以好好睡一觉),具体要多少时间就取决于网络条件了
最后会看到repo initialized in /android这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。
(2)如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
(3)另一种情况是,我们只需要某一个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、同步版本库
使用repo sync命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似
repo sync project1 project2 …
这样的命令来同步某几个项目
如果是同步Android中的单个项目,只要在项目目录下执行简单的
git pull
即可。

http://source.android.com/
源代码使用GIT访问
http://git.source.android.com/
源代码非常全。大小在2.1G左右,build后在5G左右。建议只是编译自己关心的部分。
各个package说明在:
http://source.android.com/projects
安装说明在:
http://source.android.com/download

 

How to download sourcecode of android with cygwin_第1张图片

 

33

你可能感兴趣的:(Android)