在Mac OS X中下载Android源码的一些经验
来源:互联网 发布:sysbench for mysql 编辑:程序博客网 时间:2024/05/21 00:54
首先说明,随着近期(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 imagefunction 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/bashrepo syncwhile [ $? = 1 ]; do echo "================sync failed, re-sync again =====" sleep 3 repo syncdone
复制上面代码保存到刚才的源码目录(WORKING_DIRECTORY)里。如:download.sh,在终端中运行该脚本,然后就可以等待其下载完了。另外,repo在下载过程中,在目录下是看不到任何文件的,下载完成之后会看到build等文件夹。
这就是一点经验,很多朋友也总结了怎样通过国内能访问的镜像站点下载的经验,这一点我以后有机会也会总结一下。
----------------------------------
(2014年7月12日更新)
没想到按照上面的流程下载,还是出现了问题,这里总结一下。今天早上起来一看,竟然把30GB的磁盘映像空间占满了!(我的Mac上空间确实不多了,256GB的固态硬盘,根本不够用啊),于是乎设置了一下隐藏文件夹显示:
$ defaults write com.apple.finder AppleShowAllFiles -bool true$ KillAll Finder
删除以后重新开始,自己想了一下,这次选择下载某一个版本,Android的分支列表可以参看这个链接:https://android.googlesource.com/platform/manifest/+refs
我把上面说的download.sh改成了如下所示:
#!/bin/bashPATH=~/bin:$PATHrepo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1repo syncwhile [ $? = 1 ]; do echo "================sync failed, re-sync again =====" sleep 3 repo syncdone
然后重新开始下载,经过漫长时间以后,似乎终于下载好了,仔细看了一下,这次一共有20GB左右。准备再试试其他branch。更新一下,以免误导大家。
- 在Mac OS X中下载Android源码的一些经验
- 在Mac OS X中部署Tomcat的经验
- 在 Mac OS X Lion 10.7 上 下载Android 源码(froyo)的全部过程!!!!
- Mac OS X中Android Kernel的下载方法
- Mac OS X 中一些常用的命令行技巧
- Mac OS X下编译Android源码
- Mac OS X 下编译android源码
- Mac OS X 10.9编译Android源码
- Mac OS X下编译Android源码
- Mac OS X 下载
- Android学习——Mac Os X下载和编译android 4.2.2 源码
- 在Mac OS X中改变NetBeans的默认编码
- 在MAC OS X中默认的Web共享目录
- 在MAC OS X中默认的Web共享目录
- $JAVA_HOME环境变量在Mac OS X中设置的问题
- 在MAC OS X中默认的Web共享目录
- 在 Mac OS X中校验文件的SHA1值
- Mac OS X pl2303 的驱动下载
- python - easy_install的安装和使用
- 教你如何做百度百科高质量外链
- 1002. A+B for Polynomials (25)
- SEO优化要注重五点
- hdu2544及spfa模板
- 在Mac OS X中下载Android源码的一些经验
- lr_convert_string_encoding 函数使用详解
- 【黑马程序员】JDK1.5新特性总结
- 机顶盒基础知识
- Bing搜寻引擎优化的5条划定
- 解决C盘空间不足的办法
- WFP 实现的一个简单防火墙
- hdu1285及拓扑排序模板
- 【黑马程序员】IO流知识总结