添加screenshot包后Flutter应用构建失败,报错寻求解决方案
Flutter应用添加screenshot包后构建失败的解决方案
问题描述
添加screenshot包后应用无法构建,报错如下:
: Error: Undefined name 'View'. screenshot.dart:154 context == null ? fallBackView : View.maybeOf(context) ?? fallBackView; ^^^^ : Error: No named parameter with the name 'view'. screenshot.dart:164 view: view, ^^^^ /C:/src/FlutterSDK/flutter/packages/flutter/lib/src/rendering/view.dart:68:3: Context: Found this candidate, but the arguments don't match. RenderView({ ^^^^^^^^^^ Target kernel_snapshot failed: Exception 2 FAILURE: Build failed with an exception. * Where: Script 'C:\src\FlutterSDK\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1151 * What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'. > Process 'command 'C:\src\FlutterSDK\flutter\bin\flutter.bat'' finished with non-zero exit value 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 6s Exception: Gradle task assembleDebug failed with exit code 1
可行解决方案
升级screenshot包到最新稳定版
打开项目的pubspec.yaml文件,将screenshot的依赖版本更新为最新兼容版,例如:dependencies: screenshot: ^2.1.0执行命令更新依赖:
flutter pub upgrade screenshot降级Flutter SDK至兼容版本
如果不想升级包,可将Flutter SDK降级到与当前screenshot包匹配的版本,例如执行:flutter downgrade 3.3.0注意:降级前需确认项目其他依赖包是否兼容该SDK版本。
手动修改screenshot包源码(临时修复)
- 找到本地screenshot包的
screenshot.dart文件,路径一般为项目目录/.pub-cache/hosted/pub.dartlang.org/screenshot-<版本号>/lib/screenshot.dart - 针对
Undefined name 'View'错误,在文件顶部添加导入:import 'package:flutter/widgets.dart'; - 针对
No named parameter with the name 'view'错误,找到创建RenderView的代码,将view: view替换为window: view - 保存修改后,重新执行
flutter run构建项目
- 找到本地screenshot包的
内容的提问来源于stack exchange,提问作者taha kalaee
相关产品推荐
相关产品推荐

