在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等文件夹。
这就是一点经验,很多朋友也总结了怎样通过国内能访问的镜像站点下载的经验,这一点我以后有机会也会总结一下。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。