【问题标题】:Best way to make flutter app extensible by with external scripts/plugins使用外部脚本/插件使 Flutter 应用程序可扩展的最佳方法
【发布时间】:2018-01-18 12:54:13
【问题描述】:

我们正在使用 Flutter(我们的第一个 Flutter 应用)构建 Android 应用,并且需要能够使用外部脚本或插件扩展应用功能。我考虑使用像 https://github.com/LiquidPlayer/LiquidCore 这样的 javascript 引擎,但也许有办法在应用程序中运行外部 DART 代码?

明道加斯

【问题讨论】:

  • 请添加有关您尝试完成的任务的更多信息。什么是外部 Dart 代码,它应该做什么? Dart 是在部署到设备之前编译好的,所以在 Flutter 中没有运行 Dart 代码,只有二进制代码(至少发布时,Android 上的 debug 模式实际上运行的是 Dart 代码)。
  • 我们正在构建连接到不同内容提供商的播放器。所以我们想把这些连接器做成插件。此外,根据特定服务,此插件可能会更改 UI 中的某些功能,例如对于某些服务,下载按钮可能可用,但对于其他服务则不可用。插件将托管在我们的网站上,用户只安装他需要的插件。
  • 也许可以做类似developer.android.com/guide/components/aidl.html 的事情,但我怀疑 Flutter 是否有直接的支持。您可能可以创建插件(Flutter 意义上的插件,Android 或 iOS 的原生代码,需要静态构建到部署的 apk),然后将与此类服务的通信委托给这个原生 Flutter 插件。
  • 今晚面临同样的问题。经过一番研究,似乎飞镖是现在的问题。但这可能很快就会成为可能。 github.com/dart-lang/sdk/issues/10530

标签: android plugins flutter


【解决方案1】:

只需为您的外部脚本/插件创建一个库并将其作为依赖项添加到您的 pubspec.yaml 中。

【讨论】:

  • 这样他需要为他想要提供的每个插件组合创建(构建、部署)一个不同的应用程序版本,或者总是包含所有插件,但是它们是不再是插件(就问题而言)。
猜你喜欢
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 2011-01-24
  • 2010-09-29
相关资源
最近更新 更多