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

Flutter编译报错:库未启用空安全,需将语言版本设为2.12及以上

Flutter Release构建空安全错误解决方法

错误原因

代码中使用了Key?、required这类空安全语法,但项目未启用健全空安全,或SDK版本低于2.12,导致编译失败。

解决方案一:升级到健全空安全(推荐)

  1. 检查并升级Flutter/Dart版本
    运行命令确认版本,确保Flutter≥2.0、Dart≥2.12:

    flutter --version
    

    版本不足时执行升级:

    flutter upgrade
    
  2. 更新项目SDK约束
    修改pubspec.yaml中的environment部分,指定支持空安全的SDK版本:

    environment:
      sdk: ">=2.12.0 <3.0.0"
    
  3. 更新依赖到空安全版本
    检查依赖是否支持空安全:

    dart pub outdated --mode=null-safety
    

    升级所有依赖至兼容空安全的版本:

    dart pub upgrade --null-safety
    
  4. 适配代码空安全规则
    确保项目中所有代码遵循空安全规范,比如正确使用可空类型标记?、required关键字等。

解决方案二:使用不健全空安全构建(临时方案)

如果暂时无法升级空安全,可通过以下方式绕过检查:

  • 直接在构建命令中添加参数:
    flutter build release --no-sound-null-safety
    
  • 或者修改pubspec.yaml的SDK约束为较低版本,并替换空安全语法:
    environment:
      sdk: ">=2.7.0 <3.0.0"
    
    同时将代码中的required替换为@required注解(需导入package:meta/meta.dart),去掉类型后的?标记。

内容的提问来源于stack exchange,提问作者Muhammed Muzammil - Vkd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:10:31