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

如何替换Flutter内置Dart SDK以在Apple Silicon(ARM64)上原生运行

M1设备搭建原生ARM64 Flutter开发环境解决方案

你遇到的快照不兼容报错是因为单独替换Dart SDK架构不匹配导致的:Flutter 2.5.1本身的工具链是x86架构预编译的,即使替换了内置的ARM64 Dart SDK,Flutter工具运行时依然走x86逻辑,编译生成的是x86架构的代码快照,和ARM64的Dart VM无法匹配,因此抛出架构冲突错误。

方案1:升级到官方原生支持Apple Silicon的Flutter版本(推荐)

Flutter从2.8稳定版开始已经原生支持M1系列芯片,无需手动修改任何文件,步骤如下:

  • 完全卸载当前旧版本Flutter,删除本地缓存的flutter/bin/cache目录所有内容
  • 确认终端没有通过Rosetta运行:执行arch命令,输出arm64即为原生运行状态
  • 下载对应Apple Silicon架构的Flutter稳定版安装包,或通过git拉取Flutter稳定分支源码
  • 配置好Flutter环境变量后执行flutter doctor,按照提示补全依赖:
    • 需安装适配Apple Silicon的Android Studio版本
    • Android模拟器镜像选择arm64-v8a架构版本
  • 配置完成后查看活动监视器,可看到dart、flutter进程均属于Apple类别,无x86转译开销。

方案2:必须使用Flutter 2.5.1老版本的处理方式

如果项目受限不能升级Flutter版本,可通过源码编译对应版本的ARM64架构Flutter工具链:

  • 拉取Flutter仓库2.5.1对应的tag源码到本地
  • 在原生ARM64终端下进入Flutter目录,执行./bin/flutter doctor触发首次源码编译
  • 编译完成后执行./bin/flutter precache --android --ios --macos拉取对应架构的依赖资源
  • 不要手动修改bin/cache/dart-sdk下的任何文件,编译过程会自动生成匹配的ARM64版本Dart SDK。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:15:02