首页 > 解决方案 > 如何为颤振插件创建/提供多个示例应用程序?

问题描述

example对于带有文件夹的插件以及该文件夹内的所有内容,Flutter 似乎具有非常严格/刚性的结构。

我想用我的插件提供多个示例。像文件夹这样的东西,examples然后是两个不同的应用程序示例。examples/demo1examples/demo2

我尝试这样做,但flutter runpub get命令因此更改而中断。它陷入了以下错误,该错误在更改之前未在先前结构中使用完全相同的代码引发。此外,我的应用程序实际上遵循嵌入 v2 代码,所以这个错误也是完全错误的。

The plugin `<MY PLUGIN>` requires your app to be migrated to the Android embedding v2. Follow the steps on
https://flutter.dev/go/android-project-migration and re-run this command.

不知何故,它期望应该只有一个例子,而且example只有文件夹?

有人可以帮忙吗,如果可能的话,请指点我一个使用多个示例的插件项目?

标签: flutterflutter-plugin

解决方案


在尝试了多种方式来处理这种情况后,

我最终得到了一个足够好的解决方案。

我将整个颤振 repo 移动到一个sdk目录中,然后在一个可以包含多个示例应用程序samples的级别引入了一个文件夹。root

sdk它本身在我保留的文件夹下有一个默认示例应用程序,example因此 sdk 可以随一个示例项目一起提供。

最终结构如下所示,

- Root
  - sdk
    - Flutter plugin project (like android/example/ios/lib directory etc.)
  - samples
    - sampleOne
    - sampleTwo

然后我提到了 sdk 的相对sampleOne路径sampleTwopubspec.yamlpath: ../../sdk/

当我想打开sampleOneAndroidStudio,我导入sampleOne目录,它就像魅力一样。确保您没有导入整个samples目录或sampleOne/Android.

For any regular Flutter commands for plugin, I run them inside sdk directory and everything works fine as expected. So I would run publish or pub get inside root/sdk directory


推荐阅读