如何解决运行Flutter应用时出现'dart:ui'错误?

13

enter image description here尝试运行我的第一个Flutter应用程序时,出现以下错误。

file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/action_sheet.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show ImageFilter;
       ^
 file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/bottom_tab_bar.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show ImageFilter;
       ^
file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/colors.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show Color;
       ^
file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/dialog.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show ImageFilter;
       ^
 file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/nav_bar.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show ImageFilter;
       ^
 file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/slider.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
       ^
 file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/cupertino/switch.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
       ^
 file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paint, Path, Canvas;
       ^   file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
       ^  file:///Volumes/Data/FlutterSDk/flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
       ^

Process finished with exit code 254

我已经尝试了许多方法来解决这个问题,但是问题依然存在。


我的电脑上所有的错误都能正常工作。你可以分享一下你的 flutter doctor -v 的结果吗?它不一定要显示错误,看到你的系统信息也很有用。只有以上的代码是无法帮助你的。 - salihgueler
运行应用程序后,您将找到2个main.dart文件,请选择旁边带有Flutter图标的那一个。请参考此图片 https://i.stack.imgur.com/kAGBx.png - salihgueler
谢谢。现在它可以工作了。 - Pratik Satani
好的,那我就把这个作为答案添加进去。你能接受它吗? - salihgueler
当然,我会的。 - Pratik Satani
显示剩余3条评论
9个回答

39
你之所以会遇到这些错误,是因为你的IDE将main.dart作为普通的Dart应用程序执行,而不是Flutter应用程序。
正如salihguler所回答的那样,如果你正在使用Android SDK,则选择带有Flutter图标main.dart文件,而不是带有Dart图标的文件,项目就应该可以正常工作了。

Android SDK Option Image

如果您正在使用VS Code,则不要点击RunCtrl+Alt+N),而是转到Debug->Start Debugging选项,或者直接按下F5,这样错误就会消失。

Visual Code Option Image


它解决了我的问题。谢谢。在尝试了一些有趣的解决方案之后,我来到这里,问题迎刃而解。 - Ishmael Mavor Raines

23

当你运行该应用时,你会看到2个main.dart入口,请选择带有Flutter图标的那一个。我从这里获取了它。

输入图像描述


2

对我而言,罪魁祸首是一个依赖于Flutter的传递性依赖项。我正在运行一个导入自另一个项目的函数类的dart文件。这个类显然并不依赖于Flutter,但它正在导入一个用于日志记录的包,而该包则依赖于Flutter。

在运行dart可执行文件时,请确保您没有在任何地方使用任何与Flutter相关的类。


0

在处理基于命令行的 Dart 文件时遇到了相同的错误消息,我不小心在某些 Dart 文件中 导入了 cupertino 包。 尝试仅在项目中使用 Material Design,并在文件中删除 Cupertino 包的导入。 PS:我在真实的 Flutter 应用程序上工作没有任何问题,并且我使用 Android Studio。


0

我曾经遇到过同样的问题,但是在调试模式下按下"F5"键对我有用。此外,我也不需要安装XCode和Android Studio,这在flutter doctor命令中被描述为一个问题。


0
兄弟,这有点傻和荒谬,但你确定你的 main.dart 文件里面有代码 void main(){} 吗?

1
我在七个月前当我还是Flutter新手时就问过了。 - Pratik Satani

0

如果你正在使用VS Code并使用扩展来运行代码,请停止使用。你应该禁用它们并使用flutter扩展本身来启动main.dart。


0

如果您正在使用VSCode,您可能需要更接近main.dart的打开文件夹。

左侧是错误的文件夹结构示例:

  • Backend
  • Frontend
    • FlutterApp
    • lib
      • main.dart

工作中:

  • FlutterApp
    • lib
      • main.dart
最后,我将工作区保存为第二个,并切换到第一个,一切正常!这里是相关的问题讨论

0
你只需要调试程序,如果你使用的是VSCode,按下control/command + shift + p,然后调试项目,问题就解决了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接