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

升级Flutter 3.16后无法构建Android/iOS包,遇空安全类型错误

Flutter 3.16构建报错:可空布尔类型无法赋值给非可空布尔类型

问题现象

升级Flutter 3.16后执行assembleDebug任务时失败,核心错误为第三方库中bool?类型无法赋值给bool类型,具体错误日志:

Running Gradle task 'assembleDebug'...
../../.pub-cache/hosted/pub.dev/enough_platform_widgets-0.7.4/lib/src/platform/decorated_platform_textfield.dart:536:20: Error: The argument type 'bool?' can't be assigned to the parameter type 'bool' because 'bool?' is nullable and 'bool' isn't.
          enabled: enabled,
                   ^
../../.pub-cache/hosted/pub.dev/flutter_platform_widgets-3.3.5/lib/src/platform_text_field.dart:578:30: Error: The argument type 'bool?' can't be assigned to the parameter type 'bool' because 'bool?' is nullable and 'bool' isn't.
      enabled: data?.enabled ?? enabled,
                             ^
Target kernel_snapshot failed: Exception


FAILURE: Build failed with an exception.

* Where:
Script '/flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy' line: 1350

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/flutter/bin/flutter'' finished with non-zero exit value 1

解决方案

1. 升级涉事第三方库

报错的enough_platform_widgets(0.7.4)和flutter_platform_widgets(3.3.5)版本未适配Flutter 3.16的空安全检查:

  • 打开项目根目录的pubspec.yaml文件,找到这两个依赖项,将版本号更新为最新稳定版
  • 执行命令更新依赖:
flutter pub upgrade

2. 临时本地修复(若库未更新兼容版本)

如果第三方库尚未发布适配版本,可临时修改缓存中的源码:

  • 定位到报错文件:
    • enough_platform_widgets:修改第536行的enabled: enabled,为enabled: enabled ?? true,(根据业务逻辑设置默认值,true或false均可)
    • flutter_platform_widgets:修改第578行的enabled: data?.enabled ?? enabled,为enabled: data?.enabled ?? enabled ?? true,,确保最终传入非空布尔值

3. 清理缓存重新构建

执行以下命令清理缓存并重新构建项目:

flutter clean
flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:22:53