You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Apple Silicon M1上编译Alexa Auto SDK 3.2出现zlib-native错误如何解决

报错根因

你遇到的错误是Apple Silicon(aarch64架构)设备编译旧版Alexa Auto SDK 3.2的典型兼容性问题:
AAC 3.2的编译脚本默认针对x86_64架构的宿主设备编写,zlib-native编译配方硬编码了x86_64架构的系统zlib库路径/usr/lib/x86_64-linux-gnu/,但M1设备上Docker默认运行的是aarch64架构的Ubuntu容器,该路径不存在,因此触发复制文件失败的报错。

解决方案

方案1:强制Docker使用x86_64架构模拟运行(推荐,兼容性最好)

这个方案不需要修改任何编译代码,靠Docker的Rosetta 2模拟解决架构兼容问题:

  • 打开Docker Desktop设置,进入「Features in Development」选项页,勾选Use Rosetta for x86/64 emulation on Apple Silicon,保存后重启Docker
  • 执行编译命令前先设置架构环境变量:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
  • 再执行原本的编译命令即可:
./builder/build.sh android -t androidx86-64 --android-api 28

注意:模拟运行会比原生aarch64编译慢30%~50%,但不会出现其他架构兼容问题

方案2:修改编译配方适配aarch64架构(编译速度快,可能需要后续修改其他依赖)

如果希望用原生aarch64架构编译,可以直接修改报错的zlib配方:

  • 找到文件builder/meta-aac-ubuntu/recipes-native/zlib/zlib-native.bb
  • 把文件内硬编码的/usr/lib/x86_64-linux-gnu/libz.*路径替换为/usr/lib/aarch64-linux-gnu/libz.*
  • 清理之前的编译缓存:
rm -rf build/tmp-android-28
  • 重新执行编译命令即可
    注意:如果后续遇到其他依赖也有硬编码x86路径的报错,按照同样的逻辑修改对应路径即可

内容的提问来源于stack exchange,提问作者hannes ach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:36:00