MacBook Air M1(macOS Sonoma14.4)构建AOSP 11报错求助
解决M1 MacBook Air(Sonoma 14.4)构建Android 11 AOSP失败的问题
Android 11 AOSP并未原生适配Apple Silicon架构和Sonoma系统,以下是经过验证的修复步骤:
1. 强制终端以Rosetta 2运行
右键终端应用→显示简介→勾选「使用Rosetta打开」,重启终端后再进行构建操作。Android 11的构建脚本大量依赖x86架构工具链,原生M1运行会触发兼容性错误。
2. 替换兼容的MacOS SDK
MacOSX10.15.sdk适配性不足,推荐使用MacOSX11.0.sdk(对应Xcode 12.5.1版本):
- 安装Xcode 12.5.1(可从Apple开发者渠道获取,建议重命名为Xcode_12.5.1.app避免覆盖现有版本)
- 将SDK目录复制到系统SDK路径:
sudo cp -r /Applications/Xcode_12.5.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ - 构建前指定SDK环境变量:
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
3. 配置构建环境变量
执行make前添加以下变量,强制工具链以x86兼容模式运行:
export ARCH=arm64 export TARGET_ARCH=arm64 export HOST_ARCH=x86_64 export USE_ROSETTA=1 export PATH="/usr/local/opt/bison/bin:/usr/local/opt/flex/bin:$PATH"
4. 安装适配的依赖工具
通过Rosetta模式的Homebrew安装兼容版本的构建依赖:
arch -x86_64 /usr/local/bin/brew install ninja bison flex
5. 重新执行构建
重启终端后,重新初始化构建环境并开始编译:
source build/envsetup.sh lunch # 选择对应的目标设备 make -j8 # 根据CPU核心数调整并行编译数
内容的提问来源于stack exchange,提问作者Руслан Ибрагимов
相关产品推荐
相关产品推荐

