当我试图构建我的Flutter 翼项目时:

flutter build apk --debug

-->我收到以下错误:

lib/screens/ListPage.dart:1:8: Error: Dart library 'dart:js_interop' is not available on this platform.
import 'dart:js_interop';
       ^
Context: The unavailable library 'dart:js_interop' is imported through these packages:

    package:easy_cost_splitter => dart:js_interop

Detailed import paths for (some of) the these imports:

    package:easy_cost_splitter/main.dart => package:easy_cost_splitter/screens/ListPage.dart => dart:js_interop

Unhandled exception:
FileSystemException(uri=org-dartlang-untranslatable-uri:dart%3Ajs_interop; message=StandardFileSystem only supports file:* and data:* URIs)
#0      StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:34:7)
#1      asFileUri (package:vm/kernel_front_end.dart:721:37)
#2      writeDepfile (package:vm/kernel_front_end.dart:861:21)
<asynchronous suspension>
#3      FrontendCompiler.compile (package:frontend_server/frontend_server.dart:669:9)
<asynchronous suspension>
#4      starter (package:frontend_server/starter.dart:102:12)
<asynchronous suspension>
#5      main (file:///b/s/w/ir/x/w/sdk/pkg/frontend_server/bin/frontend_server_starter.dart:13:14)
<asynchronous suspension>

Target kernel_snapshot failed: Exception


FAILURE: Build failed with an exception.

* Where:
Script '/home/myname/flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy' line: 1297

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/home/myname/flutter/bin/flutter'' finished with non-zero exit value 1
...

奇怪的是:前面提到的文件的第8行甚至没有引用js_interop,但代码如下:

class ListPage extends StatefulWidget {
  const ListPage({super.key});

  @override
  State<ListPage> createState() => _ListPageState();
}

我已经在互联网上搜索了一下,try 了以下几种方法,但都没有成功:

  • 在目录中的所有文件中搜索"js_interop",没有结果
  • 拍打干净,然后拍打wine 吧
  • 删除新安装的扩展,如CMake
  • 重新启动VS代码和PC

以下是《Flutter doctor 》的结果:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.9, on Linux Mint 21.1 5.15.0-88-generic, locale de_DE.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.83.1)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!

有谁能帮帮忙吗?

推荐答案

dart:js_interop-就像dart:js一样-只有在为Web平台构建时才可用. 您的代码将无法在Android上运行.

在您的项目中的某个地方,您包含了一个本身依赖于dart:js_interop的依赖项.

Linux相关问答推荐

如何更正我的CMakeLists.txt,使我的项目同时构建在Linux和Windows上?

Linux和Windows x86程序集调用约定

为什么 `std::this_thread::yield()` 比 `std::this_thread::sleep_for(0s)` 慢 10 倍?

如何拆分和计算 Bash 中单词的出现次数?

我想使用排序命令对第 5 列进行日期排序.但问题是格式不一致,有什么方法可以做到吗?

bash 更有效的方法来转换奇数日期格式以被 linux 日期识别

在 SLURM 作业(job)脚本中设置和传递字符串变量

argv的编码是什么?

用于 GCC/G++ 的宏来区分 Linux 和 Mac OSX?

如何在非阻塞套接字上处理 OpenSSL SSL_ERROR_WANT_READ / WANT_WRITE

使用 ssh 判断远程主机上是否存在文件

如何知道是否有足够的内存可以在 Linux 机器上部署新应用程序?

Linux 上真的没有异步块 I/O 吗?

cmake : 从脚本设置环境变量

如何让 cron 每N分钟运行一次,其中 n % 5 == 1?

在 Linux / Mono 上运行 ServiceStack 的最佳方式是什么?

如何从 Linux 内核模块的 init_module 代码创建设备 node ?

PHP exec - 判断是否启用或禁用

Bash 将 awk 的输出捕获到数组中

如何在 sed 中指定非捕获组?