flutter - Flutter - Android Studio 和 Flutter 更新后 Dart 失败
问题描述
我有一个运行没有问题的项目,并且由于我更新到Android Studio 3.5.3
and Flutter 1.13.1-pre.99 • channel master
,当尝试在真实设备上运行时,同一个项目会出现巨大错误。
我在这里提到 Android Studio 和 Flutter 更新是因为我不知道是哪一个(如果有的话)导致了问题。
在我看来,flutter_web
这是我前段时间安装的问题......但我仍然不确定如何卸载 flutter_web 本身。
注意:当前项目不是 Flutter Web 项目
这里是完整的错误......(对不起,巨大的文字):
Invalid depfile: /Users/user458395/Desktop/flutterProjects/testProjectX/.dart_tool/flutter_build/0732b8ad26463ce096dc3cab1564707e/kernel_snapshot.d
Invalid depfile: /Users/user458395/Desktop/flutterProjects/testProjectX/.dart_tool/flutter_build/0732b8ad26463ce096dc3cab1564707e/kernel_snapshot.d
Compiler message:
lib/routes/search_results_route.dart:1:8: Error: Not found: 'dart:html'
import 'dart:html';
^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:6:8: Error: Not found: 'dart:html'
import 'dart:html';
^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:97:25: Error: Type 'HttpRequest' not found.
void _openHttpRequest(HttpRequest request, String method, String url,
^^^^^^^^^^^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:32:25: Error: 'HttpRequest' isn't a type.
final _xhrs = new Set<HttpRequest>();
^^^^^^^^^^^
../../../Downloads/flutterSdk/flutter/packages/flutter/lib/src/painting/_network_image_web.dart:64:12: Error: Method not found: 'webOnlyInstantiateImageCodecFromUrl'.
return ui.webOnlyInstantiateImageCodecFromUrl(resolved) as Future<ui.Codec>; // ignore: undefined_function
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:46:19: Error: Method not found: 'HttpRequest'.
var xhr = new HttpRequest();
^^^^^^^^^^^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:57:45: Error: Method not found: 'Blob'.
var blob = xhr.response == null ? new Blob([]) : xhr.response;
^^^^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:58:24: Error: Method not found: 'FileReader'.
var reader = new FileReader();
^^^^^^^^^^
../../../Downloads/flutterSdk/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/src/browser_client.dart:97:25: Error: 'HttpRequest' isn't a type.
void _openHttpRequest(HttpRequest request, String method, String url,
^^^^^^^^^^^
Unhandled exception:
FileSystemException(uri=org-dartlang-untranslatable-uri:dart%3Ahtml; message=StandardFileSystem only supports file:* and data:* URIs)
#0 StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:33:7)
#1 asFileUri (package:vm/kernel_front_end.dart:604:37)
#2 writeDepfile (package:vm/kernel_front_end.dart:799:21)
<asynchronous suspension>
#3 FrontendCompiler.compile (package:frontend_server/frontend_server.dart:472:15)
<asynchronous suspension>
#4 _FlutterFrontendCompiler.compile (package:flutter_frontend_server/server.dart:38:22)
#5 starter (package:flutter_frontend_server/server.dart:149:27)
#6 main (file:///b/s/w/ir/cache/builder/src/flutter/flutter_frontend_server/bin/starter.dart:8:30)
#7 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:32)
#8 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.
FAILURE: Build failed with an exception.
* Where:
Script '/Users/user458395/Downloads/flutterSdk/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 792
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/Users/user458395/Downloads/flutterSdk/flutter/bin/flutter'' 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 36s
Finished with error: Gradle task assembleDebug failed with exit code 1
解决方案
编辑:要摆脱这个问题,通过在终端中运行此命令切换回稳定频道。
flutter channel stable
在此之后运行flutter upgrade
。
请通过此命令检查详细错误
flutter run --debug
要记住的一点:如果它不是一个网络项目,那么 Find and remove dart:html
。
dart:html 库仅适用于 Web 应用程序(它包装了 DOM API),它不应该在 Flutter 中运行。请检查这个 git 问题
推荐阅读
- java - 带有 GUI 的 Java 中的计时器
- python - 使用 python 从 Firebase 存储下载文件链接
- asp.net - 在 ASP.Net 应用程序中使用多个表单标签时会发生什么?
- javascript - 在没有console.log的情况下登录vuejs
- ibm-watson - IBM Watson Visual Recognition Text Prebuilt 模型
- distributed - StreamSets 中的分布式执行
- mapbox-gl-js - 如何在 Mapbox GL JS 中结合基于特征状态和属性的填充颜色?
- firebase - Firebase 验证 newData.val().length
- c# - 将 false 反序列化为 null (System.Text.Json)
- node.js - 如何将base64流转换为字符串并写入另一个文件?