赞
踩
Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码、编译源码、下载内核、编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可是30G的源码(编译后已经达到70G)备份一次都需要好久。好在春节伊始我放弃了其他的学习,全力搞这个过程,终于算是拿下了。不过,漫漫长路,这只是一个开头。
我编译的是Android最新稳定版本android-6.0.1_r11,内核是android-goldfish-3.4,平台是Mac OS 10.11。
一、Android源码下载和编译
source.android.com官网对Mac OSX下的编译说的挺详细的了,不过因为你懂的原因,去到官网很不方便,我还是把自己的心路历程记录下来,以便以后再做的时候查找方便。
1、前期准备
这是为后面下载和编译做好环境设置和工具的准备。
(1)创建大小写敏感的磁盘镜像文件
Launchpad - 其它 - 磁盘工具,点击菜单 文件 - 新建映像 - 空白映像
如下,在格式中必须选择“OS X 扩展(区分大小写,日志式)”,我在映像格式中选择了“稀疏磁盘映像”,以便未来比较容易地扩展:
不过我发现mac的磁盘工具貌似有bug:点击存储之后,实际生成的磁盘映像文件还是“OS X 扩展(日志式)”的,而不是大小写区分,需要点击该分区文件 - 分区,此时你会发现在“格式”中选择的是“OS X 扩展(日志式)”,把它改为“OS X 扩展(区分大小写,日志式)”,再点应用。
(2)确认JDK、XCode版本、make版本
在命令行下输入java -version,确认已经是最新的Java 8了:
输入make -v,确认是3.8.1,据说最新的3.8.2有bug,如果装的是3.8.2,需要退到3.8.1:
我的XCode版本是7.2.1
(3)安装所需要的packages
到http://www.macports.org/install.php下载和安装macports,再利用macports下载几个packages:
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
(4)调高文件描述符的限制
编辑~/.bash_profile文件,加入如下内容,把单个进程可打开的文件描述符上限改为1024:
# set the number of open files to be 1024ulimit-S -n 1024
然后执行source ~/.bash_profile
2、优化编译环境
编辑~/.bashrc文件,添加如下内
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。