【问题标题】:How to create/provide multiple example apps for a flutter plugin?如何为颤振插件创建/提供多个示例应用程序?
【发布时间】:2021-05-16 17:20:51
【问题描述】:

对于带有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文件夹?

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

【问题讨论】:

    标签: flutter flutter-plugin


    【解决方案1】:

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

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

    我将整个 Flutter 存储库移到了 sdk 目录中,然后在 root 级别引入了一个 samples 文件夹,其中可以包含多个示例应用程序。

    sdk 本身在example 文件夹下有一个默认示例应用程序,我将其保留,以便 sdk 可以与一个示例项目一起提供。

    最终结构如下图,

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

    然后我在pubspec.yaml 中提到了sampleOnesampleTwo 的sdk 的相对路径,例如path: ../../sdk/

    当我想在AndroidStudio 中打开sampleOne 时,我导入sampleOne 目录,它就像魅力一样。确保不要导入整个 samples 目录或 sampleOne/Android

    对于插件的任何常规 Flutter 命令,我在 sdk 目录中运行它们,一切都按预期运行。所以我会在root/sdk 目录中运行publishpub get

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2023-04-10
      • 2023-03-16
      • 2021-02-18
      • 2019-11-03
      • 1970-01-01
      • 2021-07-18
      • 2018-08-09
      • 2021-11-15
      相关资源
      最近更新 更多