在Mac OS X中下载Android源码的一些经验

首先说明,随着近期(2014年6月开始)GFW的升级,这个网站:http://www.android.com/ 已经不能正常访问了,下面的这些操作均是在我连接VPN的时候进行的。

首先,需要做一些准备工作:据这里(http://source.android.com/source/initializing.html)介绍,Mac OS中文件系统的特点是:case-preserving but case-insensitive,也就是保留大小写,但对大小写不敏感,这样会给后续运行一些命令带来很多麻烦,所以他们强烈建议新建一个大小写敏感的文件系统,这一点可以通过磁盘映像很容易地实现:

在Launchpad中——其他——磁盘工具,点开之后在左上角点击“文件”——“新建”——“空白磁盘映像”,然后如图所示,官方建议磁盘映像的大小应该在25GB以上。


在建立好磁盘映像之后,需要每次都去挂载它,比较麻烦,所以官方也建议在:~/.bash_profile中增加这样一条:(简单介绍一下,~表示从用户目录开始,所以下面这条语句中attach的dmg镜像也指的是用户目录。如果大家对vim之类不太熟,可以直接运行:open -e ~/.bash_profile 来打开上面这个文件,当然,不提倡这样做)

# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }

这样我们在每次挂载的时候,只需要输入:mountAndroid就可以了。上面那个页面的剩余部分,介绍了一些如果希望build 4.2.X之前版本需要做的工作,如果只是想下载或build最新版本,可以直接跳过,转而参考这个页面:http://source.android.com/source/downloading.html ,接下来按照这个页面的介绍,一步步做就可以了。简单总结一下:

$ mkdir ~/bin
$ PATH=~/bin:$PATH

以上这两条命令是在用户根目录下建立一个bin目录。

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

以上这两条命令是将repo tool拷贝到刚才新建的bin目录下。

在完成这两步之后,我们需要挂载刚才建映像,并且进入到映像中,对于刚才的配置,就进入下面这个映像:

$ cd /Volumes/android

然后在这里建一个目录:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

建立目录并进入之后,就可以下载Android源码了:

$ repo init -u https://android.googlesource.com/platform/manifest 

这条命令同时对repo进行初始化,并指定Android源码的repository。

最后需要输入:

$ repo sync

以将源码同步到本地。需要指出的是,即便是有VPN等工具,在下载过程中可能依然很不稳定,会多次报错或退出,这时使用repo sync可以继续下载,但是每次手动输入比较麻烦,所以很多教程都强烈建议大家写一个bash脚本自动重启下载:

#!/bin/bash
repo sync
while [ $? = 1 ]; do
    echo "================sync failed, re-sync again ====="
    sleep 3
    repo sync
done

复制上面代码保存到刚才的源码目录(WORKING_DIRECTORY)里。如:download.sh,在终端中运行该脚本,然后就可以等待其下载完了。另外,repo在下载过程中,在目录下是看不到任何文件的,下载完成之后会看到build等文件夹。

这就是一点经验,很多朋友也总结了怎样通过国内能访问的镜像站点下载的经验,这一点我以后有机会也会总结一下。

在Mac OS X中下载Android源码的一些经验,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。