如何 create/provide 一个 flutter 插件的多个示例应用程序?
How to create/provide multiple example apps for a flutter plugin?
Flutter 似乎有一个非常 strict/rigid 的插件结构,其中包含 example
文件夹和该文件夹中的所有内容。
我想为我的插件提供多个示例。类似于 examples
文件夹,然后是 examples/demo1
和 examples/demo2
作为两个不同的应用示例。
我试过这样做,但 flutter run
或 pub 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
文件夹吗?
有人可以提供帮助吗?如果可能的话,请指点我使用多个示例的插件项目?
在尝试了多种处理方式后,
我最终找到了一个足够好的解决方案。
我将整个 flutter repo 移动到 sdk
目录中,然后在 root
级别引入了一个 samples
文件夹,其中可以包含多个示例应用程序。
sdk
本身在 example
文件夹下有一个默认的示例应用程序,我保留了它以便 sdk 可以与一个示例项目一起发布。
最终结构如下所示,
- Root
- sdk
- Flutter plugin project (like android/example/ios/lib directory etc.)
- samples
- sampleOne
- sampleTwo
然后我在他们的 pubspec.yaml
中提到 sampleOne
或 sampleTwo
的 sdk 相对路径,例如 path: ../../sdk/
当我想在 AndroidStudio
中打开 sampleOne
时,我导入 sampleOne
目录,它就像魅力一样。确保您没有导入整个 samples
目录或 sampleOne/Android
.
对于插件的任何常规 Flutter 命令,我 运行 它们都在 sdk
目录中,一切都按预期正常工作。所以我会在 root/sdk
目录
中 运行 publish
或 pub get
Flutter 似乎有一个非常 strict/rigid 的插件结构,其中包含 example
文件夹和该文件夹中的所有内容。
我想为我的插件提供多个示例。类似于 examples
文件夹,然后是 examples/demo1
和 examples/demo2
作为两个不同的应用示例。
我试过这样做,但 flutter run
或 pub 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
文件夹吗?
有人可以提供帮助吗?如果可能的话,请指点我使用多个示例的插件项目?
在尝试了多种处理方式后,
我最终找到了一个足够好的解决方案。
我将整个 flutter repo 移动到 sdk
目录中,然后在 root
级别引入了一个 samples
文件夹,其中可以包含多个示例应用程序。
sdk
本身在 example
文件夹下有一个默认的示例应用程序,我保留了它以便 sdk 可以与一个示例项目一起发布。
最终结构如下所示,
- Root
- sdk
- Flutter plugin project (like android/example/ios/lib directory etc.)
- samples
- sampleOne
- sampleTwo
然后我在他们的 pubspec.yaml
中提到 sampleOne
或 sampleTwo
的 sdk 相对路径,例如 path: ../../sdk/
当我想在 AndroidStudio
中打开 sampleOne
时,我导入 sampleOne
目录,它就像魅力一样。确保您没有导入整个 samples
目录或 sampleOne/Android
.
对于插件的任何常规 Flutter 命令,我 运行 它们都在 sdk
目录中,一切都按预期正常工作。所以我会在 root/sdk
目录
publish
或 pub get