1.设置 Mac OS 编译环境
按照https://source.android.com/setup/initializing#setting-up-a-mac-os-x-build-environment 这里的配置步骤配置相关环境。友情提示,android.dmg的大小最好设置在150g以上,不然像我一样编译到一大半空间不够失败,又得重来,就只能一个人哭了。
可能出现的问题:Error: gnupg has been deprecated. If you absolutely want to stay on the classic version, install the gnupg1 port. All other users are recommended to install gnupg2.
gnupg过时。
由于gnupg已经过时,如果要继续使用gnupg的话,改为下载gnupg1;Error中建议大家使用gnupg2,那么就用gnupg2。需要先关闭gnupg1的端口:
POSIXLY_CORRECT=1 sudo port uninstall gnupg1
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg2
2.下载源码
详细的步骤在这里:https://source.android.com/setup/downloading
这里应该没有什么大的问题,如果遇到和我一样选错版本分支的问题,那么重新输入新的版本的时候需要在新的命令行结尾添加--config来重新选择新的分支,例如 repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 --config
网速一般的话,大约2-3个小时左右即可下载完毕。
3.准备编译源码
按照这里:https://source.android.com/setup/building#obtaining-proprietary-binaries 一步一步走就好,执行到source build/envsetup.sh
出现问题:
build/envsetup.sh:648: command not found: complete WARNING: Only bash is supported, use of other shell would lead to erroneous results
这里我用的是zsh,但是这个脚本需要在bash环境下执行,所以切换到bash环境下,直接在命令行中输入:chsh -s /bin/bash,打开新的命令行窗口,就可以正常执行。
在make -j8
后出现报错:internal error: Could not find a supported mac sdk: ["10.10" "10.11" "10.12"] ninja: build stopped: subcommand failed.
解决方法:到https://github.com/phracker/MacOSX-SDKs/releases下载10.10-10.12任意一个版本,解压到/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs并创建对应的快捷方式:例如下载的是10.12 那么执行sudo ln -s MacOSX10.12 MacOSX10.12.sdk
。再次执行,可以通过编译。
编译过程中出现:ninja: build stopped: subcommand failed.
,编译失败。
解决方法:Patch bison fix for High Sierra and build bison:
1. cd /Volumes/AOSP/external/bison
2. git cherry-pick c0c852bd6fe462b148475476d9124fd740eba160
3. mm
如果mm命令无法执行,需要回去执行以下命令:
1. source build/envsetup.sh
2. lunch 相应版本之后回到external/bison目录
3. mm
Replace prebuilt bison binary with patched binary
1. cp /Volumes/AOSP/out/host/darwin-x86/bin/bison /Volumes/AOSP/prebuilts/misc/darwin-x86/bison/
再次Build
1. make -j8
等风扇呼呼结束,就可以了。
image.png
看到这张图就是编译完成了。在MacBookPro 15款15寸乞丐版上编译完成大约需要13-14小时左右。
参考文章:https://blog.csdn.net/yishon_android/article/details/51726676
https://blog.csdn.net/dengjiamingcsu/article/details/79695657
https://www.jianshu.com/p/35f840dd7869
https://www.jianshu.com/p/367f0886e62b
网友评论