【发布时间】:2019-09-10 20:27:53
【问题描述】:
由于 dart:ffi 可从 Dart 2.2.0-dev.2.0 获得,我一直在尝试使用该库。 The sample app 对我来说很好,我也尝试将它用于我的 Flutter 应用程序,但我无法使用 import "dart:ffi" 调用它,尽管我机器上的 Flutter 是 HEAD 的 master 使用 Dart 2.3.0-dev.0.0。
我检查了发生了什么,然后我发现 sky_engine 不包含 ffi.dart 而它包含其他库(例如“dart:core”)。我还注意到这些库的源文件是使用BUILD.gn 或_embedder.yaml 从$FLUTTER_ROOT/bin/cache/dart-sdk/lib 复制到$FLUTTER_ROOT/bin/cache/pkg/sky_engine 的,这似乎是我不能在我的Flutter 应用程序中使用dart:ffi 的原因。
但是,首先,为什么 Flutter 需要 sky_engine,它是“Dart 和 Flutter Engine 的接口”?为什么不用这个胶水代码直接调用它们呢?
【问题讨论】:
-
您好,您找到解决方案了吗?
-
@ch271828n 不。
-
听到这个消息很难过:(
-
Sky 是 Flutter 的原始名称 - 想象一下它被称为
flutter_engine:) -
您是否考虑编辑问题以包含minimal reproducible example。另外,我认为您想澄清标题,因为我想“为什么颤动副本...”的答案可以基于意见,但是如果您问的是诸如“如何导入 dart:ffi”之类的问题,那将增加一个答案。