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

升级Flutter SDK至3.10.1后无法构建项目求助

解决Flutter 3.10.1调试模式下wCodePage可空字段错误

问题原因

Flutter 3.10.x对应Dart 3.0+版本,对FFI结构体字段的可空性规则做了严格限制:结构体中的字段不能声明为可空类型(如int?),必须是int、double、Pointer或Struct/Union的子类型。你遇到的错误来自某个依赖包中的file_version_info.dart文件,其中wCodePage字段使用了int?,不符合新版本的规则。

解决步骤

  • 定位问题依赖:在项目中搜索包含file_version_info.dart的第三方包,通常是直接或间接依赖的file_version_info类工具包。
  • 升级依赖包:查看该包的最新版本,若已有适配Dart 3.0/Flutter 3.10+的版本,直接在pubspec.yaml中更新版本号,执行flutter pub get即可。
  • 临时修复(若依赖未更新):
    1. 找到本地缓存中该依赖的file_version_info.dart文件(路径一般为C:\Users\<你的用户名>\.pub-cache\hosted\pub.dartlang.org\<依赖包名>\lib\src\file_version_info.dart)
    2. 将代码中的external int? wCodePage;修改为external int wCodePage;
    3. 执行flutter clean和flutter pub get后重新运行项目
  • 替换依赖:若该包长期未维护,寻找功能类似且适配最新Flutter版本的替代包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:52:35