经过几天的折腾,终于成功在Mac OSX 10.7 Lion上下载编译了Android 4.0 ICS的源代码。现将经过记录下来,以便日后参考。
源代码下载基本上按照Google官方文档上的步骤照做即可,主要步骤和可能出现的问题如下:
1. 创建一个对大小写敏感的磁盘镜像分区,用于存放源代码。区分大小写的目的是为了正确运行脚本,因为Mac系统默认对大小写不敏感,所以可能会导致某些脚本运行不正确。
2. 安装Mac port,并安装所需用到的软件包。注:安装完Mac port后要运行一下“sudo port -v selfupdate”命令,使Mac port更新到最新。否则在安装软件包时可能会出现如找不到或不能识别gmake这样的错误。
3. 下载安装repo
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo由于google服务目前在国内受限的原因,在这一步经常发生服务器连不上的情况,这时可通过配置代理的方式进行访问,代理配置方法为:
$ export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port> $ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
4. 初始化代码库,可运行
$ repo init -u https://android.googlesource.com/platform/manifest或
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
前者为提取master分支——即最新代码,后者为提取master之外分支的代码,我运行得是后者。
5. 执行repo sync开始下载代码。第一次下载代码要花很长时间,而且受网络影响还会经常中断,这时只要再次运行repo sync即可,直至代码下载完毕。同样由于google访问受限的原因,下载时也可以通过打开一些代理软件以提高下载速度。
6. 最后导入公共key。至此整个代码下载完毕,接下来就可以开始编译了。
PS: 命令行窗口的字符编码应设为utf-8,否则运行脚本时会报utf-8相关的错误。