dart - 为什么 Flutter 将标准库的 src 复制到 sky_engine 中?
问题描述
由于dart:ffi可从 Dart 获得2.2.0-dev.2.0
,我一直在尝试使用该库。示例应用程序对我来说很好用,我也尝试将它用于我的 Flutter 应用程序,但我无法使用 调用它import "dart:ffi"
,尽管我机器上HEAD
的Flutter 是master
使用过的 Dart 2.3.0-dev.0.0
。
我检查了发生了什么,然后我发现sky_engine不包含ffi.dart
,而它包含其他库(例如“dart:core”)。我还注意到这些库的源文件被复制$FLUTTER_ROOT/bin/cache/dart-sdk/lib
到$FLUTTER_ROOT/bin/cache/pkg/sky_engine
使用BUILD.gn或_embedder.yaml,这似乎是我不能dart:ffi
在我的 Flutter 应用程序中使用的原因。
但是,首先,为什么 Flutter 需要 sky_engine,它是“Dart 和 Flutter Engine 的接口”?为什么不用这个胶水代码直接调用它们呢?
解决方案
推荐阅读
- javascript - 我的页面中有表单验证功能,但它不起作用
- amazon-web-services - 使用 Terraform 创建的 Kubernetes 服务帐户导致 'doc is missing path: "/spec/volumes/0"' 副本集错误
- angular - 无法通过将电子邮件作为角度参数传递来获得 API 响应
- php - 未捕获的错误:找不到类“React\React\EventLoop\Factory”
- javascript - 正则表达式查找单词的最佳匹配子集
- regex - 在一个 Apache-NiFi 语句中多次替换正则表达式
- python-3.x - AttributeError:“str”对象没有属性“subs”
- java - 图书馆和本地人是资源的一部分吗?
- node.js - 如何从另一个 ipcMain 命令调用 ipcMain 命令?
- sql-server - SQL Server - 选择和加入父子记录、透视和分组