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

Flutter应用运行报错:File.create方法参数不匹配求助

Flutter更新后文件方法参数不匹配报错解决

问题说明

原本正常运行的Flutter应用,更新后出现编译报错。已尝试更新应用级Build.gradle的compileSdkVersion(31)并升级项目依赖,问题未解决。

错误信息

Launching lib/main.dart on Android SDK built for arm64 in debug mode...
lib/main.dart:1
: Error: 方法 'File.create' 的命名参数数量少于被覆盖方法 'File.create' 的参数数量。
../…/interface/file.dart:15
  Future<File> create({bool recursive = false});
               ^
org-dartlang-sdk:///third_party/dart/sdk/lib/io/file.dart:232:16: 上下文:这是被覆盖的方法 ('create')。
  Future<File> create({bool recursive = false, bool exclusive = false});
               ^
: Error: 方法 'File.create' 缺少被覆盖方法 'File.create' 的命名参数 'exclusive'。
../…/interface/file.dart:15
  Future<File> create({bool recursive = false});
               ^
org-dartlang-sdk:///third_party/dart/sdk/lib/io/file.dart:232:16: 上下文:这是被覆盖的方法 ('create')。
  Future<File> create({bool recursive = false, bool exclusive = false});
               ^
: Error: 方法 'ForwardingFile.createSync' 的命名参数数量少于被覆盖方法 'File.createSync' 的参数数量。
../…/forwarding/forwarding_file.dart:22

Pubspec.yaml配置

name: zepper
description: The .

publish_to: 'none' # 要发布到pub.dev请删除此行

version: 1.0.0+1

environment:
  sdk: ">=2.17.0-261.0.dev <3.0.0"

dependencies:
# Firebase 依赖
  cloud_firestore: ^3.4.9
  firebase_auth: ^3.10.0
  firebase_core: ^1.23.0
  firebase_messaging: ^13.0.3
  firebase_storage: ^10.3.9

# 视觉相关依赖
  image_picker: ^0.8.5+3
  qr_flutter: ^4.0.0
  google_fonts: ^3.0.1

# 服务相关依赖
  http: ^0.13.5
  url_launcher: ^6.1.5
  dart_jsonwebtoken: ^2.4.2
  flutter_secure_storage: ^6.0.0

# 状态管理依赖
  flutter_riverpod: ^1.0.4

# 标准依赖
  cupertino_icons: ^1.0.2
  flutter:
    sdk: flutter
  
  

dev_dependencies:
  flutter_lints: ^2.0.0
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

  assets:
    - assets/illustrations/
  #   - images/a_dot_ham.jpeg
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700

Flutter Doctor检查结果

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 3.4.0-28.0.pre.105, on macOS 12.6 21G115 darwin-arm64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.71.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!

解决步骤

  1. 修复自定义文件接口
    找到报错路径中的interface/file.dart和forwarding/forwarding_file.dart文件,同步Dart SDK的方法签名:

    • 修改create方法,添加exclusive参数:
      Future<File> create({bool recursive = false, bool exclusive = false});
      
    • 修改createSync方法,同样新增exclusive参数,保持与SDK方法一致。
  2. 升级依赖库
    执行命令升级所有依赖到最新兼容版本:

    flutter pub upgrade
    

    重点检查涉及文件操作的依赖(如firebase_storage、image_picker)是否有版本更新适配Dart SDK的新参数。

  3. 切换Flutter稳定通道
    当前使用的master通道为开发预览版,兼容性较差,切换到stable通道:

    flutter channel stable
    flutter upgrade
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 17:45:37