跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Dart大前端

Flutter 升级后报错 Cannot run with sound null safety 解决方案

Flutter SDK 升级至 2.0 及以上版本后,若项目依赖不支持空安全,运行时会抛出 Cannot run with sound null safety 错误。解决思路主要有两种:一是在 Android Studio 运行配置中添加 --no-sound-null-safety 参数以临时绕过检查;二是将 pubspec.yaml 中的 SDK 约束降级至 2.12.0 以下版本。前者适用于快速验证或无法立即修改依赖的场景,后者则是针对老旧项目的根本性兼容方案。

CodeArtist发布于 2021/8/13更新于 2026/5/43 浏览
Flutter 升级后报错 Cannot run with sound null safety 解决方案

Flutter 升级后遇到 Cannot run with sound null safety 错误怎么办

当把 Flutter SDK 升级到 2.0 或更高版本时,运行旧项目可能会直接报错,提示如下:

Error: Cannot run with sound null safety, because the following dependencies don't support null safety: - package:flutter_swiper - package:flutter_page_indicator - package:transformer_page_view
FAILURE: Build failed with an exception.

这通常是因为项目里的某些第三方包还没适配 Dart 的空安全(Null Safety)机制。遇到这种情况,我有两个常用的解决办法,可以根据实际情况选择。

方案一:添加启动参数(临时绕过)

如果你只是想快速跑通项目,或者暂时不想动依赖,可以在 Android Studio 里忽略这个检查。

打开 Android Studio,依次点击菜单栏的【Run】 --> 【Edit Configurations】。在弹出的窗口中找到【Add Additional Run args】输入框,填入 --no-sound-null-safety。

保存后重新运行,错误就会消失。虽然这个方法能解决问题,但它只是绕过了检查,并没有真正修复兼容性,长期来看可能还会埋下隐患。

方案二:降低 SDK 版本要求(针对老项目)

如果是维护一些比较老的遗留项目,且短期内无法更新所有依赖包,最直接的办法是放宽 SDK 的版本限制。

找到项目根目录下的 pubspec.yaml 文件,定位到 environment 部分,把 SDK 约束改低一点。比如:

sdk: ">=2.12.0 <3.0.0"

改成:

sdk: ">=2.8.0 <3.0.0"

因为从 SDK 2.12 开始,Dart 强制引入了空安全特性。降级后,构建工具就不会再强制要求依赖包支持空安全了。

总结

这两种方法各有适用场景。如果是新项目或者依赖可控,建议优先升级依赖包以适配空安全;如果是老项目紧急上线,先用启动参数救急,再逐步规划迁移。

目录

  1. Flutter 升级后遇到 Cannot run with sound null safety 错误怎么办
  2. 方案一:添加启动参数(临时绕过)
  3. 方案二:降低 SDK 版本要求(针对老项目)
  4. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 人工智能应用工程师(高级)课程体系与报考指南
  • Python3 实用安装教程
  • MySQL MVCC 原理:并发控制与隔离级别深度解析
  • Python 数据分析替代方案:Mito 与 Bamboolib 实战指南
  • OpenClaw 部署方式对比:云端、WSL、Mac 及 Ubuntu 虚拟机
  • OpenClaw Web 控制台使用全解析——可视化配置与监控
  • 基于MISRA C++的车载软件开发实战案例
  • JavaShop 百万级并发场景下的性能表现与架构解析
  • AIGC 赋能插画创作:技术解析与代码实战
  • 无需公网 IP 安全访问本地 AI 服务的实践方案
  • Vivado 项目 Git 版本管理实战指南:FPGA 工程师必读
  • ROS2 slam_toolbox 激光雷达建图教程
  • VSCode Copilot MCP 快速上手指南
  • Minecraft 假面骑士 100 天整合包安装与环境配置指南
  • Buzz:基于 Whisper 的离线语音转写工具
  • 临床智能体AI与环境感知AI的融合:基于python的医疗自然语言处理深度分析
  • 前端面试核心知识点与高频八股文汇总
  • DeepSeek-R1-Distill-Llama-8B 实战:快速搭建智能问答系统
  • AI 辅助解码加密字符串的技术实践与实现
  • 产品经理如何利用 AI Agent 提升工作效率

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online