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

升级Flutter 2.5.1后运行项目出现filepicker_windows包类型不匹配报错

问题原因

该错误是filepicker_windows v2.0.0与win32 v2.3.0的FFI类型定义不兼容导致:高版本win32修改了Pointer<COMObject>的参数声明规则,和旧版filepicker_windows的调用逻辑不匹配,触发了类型校验错误。

解决方案

方案一:升级file_picker依赖(推荐)

新版file_picker已经官方修复了该兼容问题,操作步骤如下:

  • 打开项目根目录的pubspec.yaml文件
  • 将file_picker的版本约束调整为^4.0.0及以上
  • 执行flutter pub upgrade命令更新依赖
  • 重新运行项目即可

方案二:强制锁定win32兼容版本(临时解决方案)

如果暂时不方便升级file_picker大版本,可以通过强制覆盖依赖版本解决冲突:

  • 打开pubspec.yaml文件,新增如下配置:
dependency_overrides:
  win32: 2.2.9
  • 执行flutter pub get命令刷新依赖
  • 重新构建项目即可

方案三:手动修改源码(应急临时方案)

如果上述两个方案都不适用,可以直接修改本地缓存的报错代码修正类型问题:

  • 找到报错的三个文件:filedialog.dart、opendialog.dart、savedialog.dart
  • 将报错行的参数添加强制类型转换:
    • knownFolderManager.GetFolder(publicMusicFolder, ppkf.cast<Pointer<COMObject>>())
    • fileDialog.GetResult(ppsi.cast<Pointer<COMObject>>())
  • 保存修改后重新运行项目即可,注意该修改仅本地生效,重新拉取依赖后会被覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:36:08