Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53078
  • 博文数量: 24
  • 博客积分: 42
  • 博客等级: 民兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-13 21:32
文章分类
文章存档

2013年(4)

2012年(20)

分类:

2012-09-01 23:41:37

原文地址:android源码下载 作者:ly44770

1.Git和Repo的安装
首先确保在当前用户的主目录下创建一个/bin目录(如果没有的话),然后把它(~/bin)加到PATH环境变量中。
vim .bashrc
添加:export PATH=$PATH:~/bin
source .bashrc
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/a/bin
 
sudo apt-get install git-core
sudo apt-get install curl

这两条命令会从互联网的软件仓库中安装git-core和curl。
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。
curl > ~/bin/repo
这句命令会下载repo脚本文件到当前主目录的bin目录下,并保存在文件repo中。
最后我们需要给repo文件可执行权限
sudo chmod a+x /home/a/bin/repo
接下来我们就可以利用repo脚本和Git、curl软件获取Android的源代码了。
2、初始化版本库
如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。
先建立一个目录,比如~/myandroid,进去以后用repo init命令即可。
repo init -u git://android.git.kernel.org/platform/manifest.git
这个过程会持续很长的时间,具体要多少时间就取决于网络条件了
最后会看到 repo initialized in /myandroid这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的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来列出本地的所有分支。
这里我们以android-2.1_r1这个分支为例:
mkdir myandroid
cd myandroid
repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.1_r1
repo initialized in /home/a/myandroid

3、同步版本库
使用repo sync命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似
repo sync project1 project2 … 这样的命令来同步某几个项目
如果是同步Android中的单个项目,只要在项目目录下执行简单的
git pull 即可。
repo sync

下载android-sdk-2.1_r1版本
# mkdir android-sdk-2.1_r1
# cd android-sdk-2.1_r1/
# repo init -u git://android.git.kernel.org/platform/manifest.git -b android-sdk-2.1_r1
# repo sync
阅读(708) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~