macOS Catalina(10.15.7)编译Android源码

不小心把mac系统升级到了最新的10.15.7,尝试编译android源码android-10.0.0_r2,竟然报错了,记录下解决方法,供其他同学参考。

Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13" "10.14"]

解决方案

1. 查看本机包含的SDK版本,执行如下命令

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

ls

可以看到我这里只有10.15版本的sdk

2. 修改Android编译脚本,把10.15加进去,执行如下命令

vim build/soong/cc/config/x86_darwin_host.go

不熟悉vim命令的也可以切到目录下,然后用文本编辑器修改,作者这里改完后是这样的

use of undeclared identifier 'PAGE_SIZE'

如果你和我一样,不小心把MacOSX sdk从10.15升级到了11.0或者11.1,可能会碰到这个问题。尝试解决这个问题后,后边还会碰到指针参数类型不匹配的问题,最简单的解决办法就是把10.15版本的MacOSX10.15.sdk再装回来,然后再编译。下载地址参考https://github.com/phracker/MacOSX-SDKs/releases/tag/10.15(感谢大佬们的分享,方便了我等)。装完之后应该是这样子的:

Segmentation fault: 11

解决方案

打开system/sepolicy/tests/Android.bp文件,删掉stl: "libc++_static"这句,然后重新编译。修改如下:

请参考官方补丁https://android.googlesource.com/platform/system/sepolicy/+/1f944107a3341ab593c93bbdf09e22436cc0e3d3%5E%21/

你可能感兴趣的:(macOS Catalina(10.15.7)编译Android源码)