不小心把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"这句,然后重新编译。修改如下: