Flutter从2.10.2升级至3.10.0后编译报错求助
解决Flutter 3.10.0升级后的编译错误
这些错误几乎都是第三方依赖未适配Flutter 3.x的API变更导致的,以下是针对性解决方法:
1. 处理AssetManifest命名冲突(google_fonts相关)
- 升级
google_fonts包到适配Flutter 3.x的最新版本,在pubspec.yaml中修改:google_fonts: ^6.1.0 # 或更高版本 - 执行
flutter pub get,新版本的google_fonts已重命名内部的AssetManifest类,避免与Flutter核心库冲突。
2. 解决window命名参数不存在问题
- 错误路径指向
print_commands.dart,大概率是printing或类似打印相关的依赖包未适配新API,升级该包到最新版本即可。
3. 修复ViewConfiguration相关错误
ViewConfiguration在Flutter 3.x中已被移除或重构,错误来自widget_wrapper.dart,找到对应的依赖包(如部分UI组件包)并升级到适配Flutter 3.10.0的版本。- 如果是自定义代码,替换为
View.of(context).viewConfiguration或直接使用MediaQuery.of(context).size获取尺寸参数。
4. 解决photo_view的kind参数错误
- 升级
photo_view包到最新版本,在pubspec.yaml中修改:photo_view: ^0.14.0+1 # 或更高版本 - 旧版本photo_view中GestureDetector的
kind参数在Flutter 3.x已被移除,新版本已适配。
5. 修复VoidCallback类型错误
- 错误来自
downloader_utils.dart,升级对应的下载类依赖包(如flutter_downloader)到最新版本。 - 如果是自定义代码,确保导入
package:flutter/foundation.dart,或直接用void Function()替代VoidCallback类型。
最终构建步骤
执行以下命令彻底清理并重新构建:
flutter clean flutter pub upgrade flutter run
内容的提问来源于stack exchange,提问作者manuel paglia
相关产品推荐
相关产品推荐

