Ubuntu下android源码下载

android源码下载
1.Git和Repo的安装
首先确保在当前用户的主目录下创建一个/bin目录(如果没有的话),然后把它(~/bin)加到PATH环境变量中。

a@ubuntu:~$vim.bashrc

添加:exportPATH=$PATH:~/bin

a@ubuntu:~$source.bashrc

a@ubuntu:~$echo$PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/a/bin
 
a@ubuntu:~$ sudo apt-get install git-corea@ubuntu:~$ sudo apt-get install curl
这两条命令会从互联网的软件仓库中安装git-core和curl。
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。a@ubuntu:~$ curl http://android.git.kernel.org/repo > ~/bin/repo
这句命令会下载repo脚本文件到当前主目录的bin目录下,并保存在文件repo中。
最后我们需要给repo文件可执行权限
a@ubuntu:~$ sudo chmod a+x /home/a/bin/repo
接下来我们就可以利用repo脚本和Git、curl软件获取Android的源代码了。
2、初始化版本库

如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。

先建立一个目录,比如~/myandroid,进去以后用repoinit命令即可。

repoinit-ugit://android.git.kernel.org/platform/manifest.git

这个过程会持续很长的时间,具体要多少时间就取决于网络条件了

最后会看到 repo initialized in /myandroid这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。
需要之后调用 repo sync
如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
另一种情况是,我们只需要某一个project的代码,比如kernel/common,就不需要repo了,直接用Git即可。

gitclonegit://android.git.kernel.org/kernel/common.git

这也需要不少的时间,因为它会把整个Linux Kernel的代码复制下来。
如果需要某个branch的代码,用git checkout即可。比如我们刚刚拿了kernel/common.get的代码,那就先进入到common目录,然后用下面的命令:

gitcheckoutorigin/android-goldfish-2.6.27-bgoldfish

这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27同步。我们可以通过git branch来列出本地的所有分支。
这里我们以android-2.1_r1这个分支为例:

a@ubuntu:~$mkdirmyandroid

a@ubuntu:~$cdmyandroid

a@ubuntu:~/myandroid$repoinit-ugit://android.git.kernel.org/platform/manifest.git-bandroid-2.1_r1

repo initialized in /home/a/myandroid

3、同步版本库

使用reposync命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似

repo sync project1 project2 … 这样的命令来同步某几个项目
如果是同步Android中的单个项目,只要在项目目录下执行简单的git pull 即可。
a@ubuntu:~/myandroid$ repo sync

下载android-sdk-2.1_r1版本

a@ubuntu:~$#mkdirandroid-sdk-2.1_r1

a@ubuntu:~$#cdandroid-sdk-2.1_r1/

a@ubuntu:~android-sdk-2.1_r1#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bandroid-sdk-2.1_r1

a@ubuntu:~$android-sdk-2.1_r1#reposync

相关推荐