dart:ui:1:错误:未找到:dart:ui。颤振/飞镖:
Posted
技术标签:
【中文标题】dart:ui:1:错误:未找到:dart:ui。颤振/飞镖:【英文标题】:dart:ui:1: Error: Not found: dart:ui. flutter/dart: 【发布时间】:2019-02-28 05:27:30 【问题描述】:当我开始调试会话(按 F5)时,我收到以下消息:
dart:ui:1: Error: Not found: dart:ui.
Exited (sigterm)
没有迹象表明问题发生在哪里。 flutter doctor -v 的输出是:
[√] Flutter (Channel beta, v0.8.2, on Microsoft Windows [Version 6.1.7601], locale en-US)
• Flutter version 0.8.2 at C:\Downloads\flutter\flutter_windows_v0.5.1-beta\flutter
• Framework revision 5ab9e70727 (2 weeks ago), 2018-09-07 12:33:05 -0700
• Engine revision 58a1894a1c
• Dart version 2.1.0-dev.3.1.flutter-760a9690c2
[√] android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at C:\Users\gggustafson\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.
[√] Android Studio (version 3.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 26.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[√] VS Code, 64-bit edition (version 1.25.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 2.18.0
[√] Connected devices (1 available)
• SM G925V • 06157df60c7a8e20 • android-arm64 • Android 7.0 (API 24)
• No issues found!
有什么想法吗?
【问题讨论】:
您的 IDE 似乎将您的应用程序推断为一个简单的 dart 项目,而不是一个 Flutter 项目。 您使用什么文件作为入口点?如果您单击工具栏中运行按钮左侧的配置下拉菜单并单击Edit Configurations ...
,您会看到它
在调试中,开始调试图标旁边有一个下拉菜单,可以从中选择“无配置”或“添加配置...”。当前选择的配置是“无配置”。
抱歉,错过了您问题的第一部分。我正在从 GitHub 转换 Vanilla 项目。我正在尝试:将所有 dart 文件合并到最少数量的目录中,然后删除所有“不必要的”文件(本地化等)并将 Vanilla 简化为应用程序状态共享的示例,最后以修改后的 Vanilla 为例,编写我自己的应用程序。入口点是 main.dart 中的 main()。我回答你的问题了吗?
您是否为项目启用了 Flutter 支持。检查是否在 Dart 设置中选择了来自 Flutter 的 Dart SDK,而不是独立的 Dart SDK
【参考方案1】:
运行应用程序时,您会发现2 main.dart
选择旁边有颤振图标的那个
【讨论】:
感谢您的意见。问题消失了。我不知道为什么,但我确实做了新项目。我认为这是问题所在。 这是最好和快速的答案,特别是对于那些刚刚开始基于 Flutter 的开发 +1 这很有意义。我想是扑扑,而不是飞镖。 啊,我将 AndroidStudio 作为 Dart 运行。好的【参考方案2】:如果你正在运行 Flutter 项目。
在编辑配置中,将其作为flutter项目运行,它旁边有一个flutter图标。
如果您正在测试 dart 文件
检查您的依赖树。删除所有与 Flutter 相关的库,例如 widgets/material/cupertino。
简单说明
简而言之,您将文件作为 dart 文件运行,但同时导入了小部件/材质等颤振依赖项。要么将其作为 Flutter 运行,要么摆脱 Flutter 依赖并运行纯 dart。
【讨论】:
【参考方案3】:如果你添加神奇的:
import 'package:flutter/widgets.dart';
在您要运行或调试的文件顶部,并删除现有配置,它将作为颤振而不是飞镖运行。
为什么? Idea/Android Studio 会扫描您要求运行或调试的文件以获取 Flutter 导入,并使用该文件来决定初始运行配置应该是 dart 还是 Flutter 配置。如果你导入任何 Flutter 包,你会得到一个 Flutter 运行配置。
令人困惑的是,它仅在您第一次运行/调试该文件时执行此操作,并记住运行配置。 如果您的运行配置被创建为错误的类型(Dart 而不是 Flutter),您需要进入“编辑配置”菜单将其删除,而不是再次运行/调试该文件。
它的行为非常令人困惑,特别是因为你的导入不足以知道文件应该作为 Flutter 还是普通的旧 Dart 运行——你的文件的导入可能会导入另一个导入 Flutter 库的文件。当 Flutter 配置正确时,它可能会被检测为 Dart。
他们应该刚刚添加了“Run Dart”、“Run Flutter”。
【讨论】:
嗯?你的意思是什么文件? 在您尝试运行或调试的文件的顶部。 Idea/Android Studio 扫描 for Flutter 导入并使用它来决定初始运行配置应该是 dart 还是 Flutter 配置。如果你导入任何 Flutter 包,你会得到一个 Flutter 运行配置。【参考方案4】:导入这个库 导入 'dart:ui' 作为 ui;
【讨论】:
【参考方案5】:以下对我有帮助:
flutter channel
。确保您使用的是master
。如果没有:flutter channel master
flutter upgrade
说我有未跟踪的更改。可能是在我在频道之间切换之后。
flutter upgrade --force
修复了问题,但版本 (flutter --version
) 保持不变。
切换频道后,flutter 目录中似乎存在一些本地不一致。
仅供参考。我在玩桌面版 Flutter,所以在启用该功能并切换到 master
之后,我开始在 flutter devices
之后看到新设备:
SM G973F • RF8M206V4LW • android-arm64 • Android 9 (API 28)
Windows • Windows • windows-x64 • Microsoft Windows [Version 10.0.17134.1130]
如果是您的情况,在使用 flutter run
运行您的应用时,请确保添加 -d RF8M206V4LW
或 -d Windows
以在正确的设备上运行。
【讨论】:
以上是关于dart:ui:1:错误:未找到:dart:ui。颤振/飞镖:的主要内容,如果未能解决你的问题,请参考以下文章
错误:未找到:'dart:ui' export 'dart:ui' show Offset;
错误:flutter/lib/ui/ui_dart_state.cc(148) 未处理的异常
怎么解决?颤振(6629):[错误:颤振/lib/ui/ui_dart_state.cc(209)]未处理的异常:NoSuchMethodError
错误:flutter/lib/ui/ui_dart_state.cc(177) 未处理的异常:NoSuchMethodError:方法“插入”在 null 上调用
如何解决此问题 [错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:NoSuchMethodError:getter 'phone' 被调用为 null。
如何解决此问题 [错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:NoSuchMethodError:在 null 上调用了 getter 'insta