Android源代码编译笔记(支持5.x及以上版本) - Mac篇

前边写过aosp在Linux上(Ubuntu)的编译文章,因为是在虚拟机里边,所以在方便的同时,效率也会有所折扣(调试编译运行速度等)。所以在Mac上试验了一次,发现方便很多。特此记录下来。

大体流程还是与Android源代码编译笔记(支持5.x及以上版本) - Linux篇一致的,细节地方有所不同。

安装软件包

JDK

这部分的要求对于各个平台是一致的,具体参见安装JDK

Command Line Tools
$ xcode-select --install
MacPorts

MacPorts是Mac平台的一个安装包管理器。可以直接从其官网上下载与你的Mac系统对应的安装包。

Note: Make sure that /opt/local/bin appears in your path before /usr/bin. If not, please add the following to your ~/.bash_profile file:

$ export PATH=/opt/local/bin:$PATH
make, git, and GPG
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

If using Mac OS X v10.4, also install bison:

$ POSIXLY_CORRECT=1 sudo port install bison

创建大小写敏感的磁盘文件

Mac默认情况下,虽然运行时是大小写保护的,但是文件系统本身确实大小写不敏感的(你可以创建一个同名但大小写不一样的文件或者文件夹试试)。

为了避免git在执行中出现异常情况,所以需要另外创建一个大小写敏感的磁盘文件。我们之后的源代码和编译都在那里边进行。

我们使用sparse类型的文件,它的优点在于后期可以根据需要调整大小。

命令如下:

$ hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 120g ~/android.dmg

下载好源码编译完之后只剩下2g了,所以你可以考虑设置一个大一点的值。
This will create a .dmg (or possibly a .dmg.sparseimage) file which, once mounted, acts as a drive with the required formatting for Android development.

如果你想调整磁盘文件大小,使用如下命令:

$ hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage
Helper方法

磁盘文件创建出来之后,需要加载才可以使用。为了以后加载/卸载方便,我们可以在~/.bash_profile文件中加入以下方法:

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

# unmount the android file image
function umountAndroid() { hdiutil detach /Volumes/android; }

然后你就可以执行mountAndroid进行加载,umoundAndroid进行卸载了。非常方便。

注意将attatch后边的磁盘文件替换为你自己的文件名。

可选配置

设置文件描述符上限

Google是这么说的

On Mac OS, the default limit on the number of simultaneous file descriptors open is too low and a highly parallel build process may exceed this limit.

To increase the cap, add the following lines to your ~/.bash_profile:

# set the number of open files to be 1024
ulimit -S -n 1024

但是在实际当中,我并没有配置这一项,也是编译成功的。

缓存设置

具体参见设置ccache缓存 - 可选

在Mac平台下,需要执行Mac平台下的ccache命令,具体如下

$ prebuilts/misc/darwin-x86/ccache/ccache -M 50G

代码下载与编译

参考Android源代码编译笔记(支持5.x及以上版本) - Linux篇
这部分内容是一模一样的。我编译了master分支,耗时约1.75小时。

参考

  1. Android源代码编译笔记(支持5.x及以上版本) - Linux篇
  2. Setting up a Mac OS build environment
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值