4

我编写了一个 Flutter 插件来使用需要包含一些 .aar 模块的 SDK。它在插件的示例应用程序中构建和运行完美,但是当我在另一个应用程序中导入插件并尝试构建它时,构建立即失败,并显示一条消息,指出在插入。这是没有意义的,因为模块肯定存在 - 如果模块不存在,则使用 SDK 的平台通道将在示例应用程序中失败。

为什么示例应用程序可以毫无问题地构建和运行,而其他应用程序则不会?我唯一能想到的是我从我的 pubspec 中的路径导入插件,但在我看来这不太可能是罪魁祸首。

任何建议或帮助将不胜感激。蒂亚!

4

1 回答 1

5

我知道了!!!!

答案如下:如何在库模块中添加 .aar 依赖项?

它适应 Flutter 插件的方式如下:

  1. 在插件libs的项目根目录下添加一个文件夹。android在那里添加.aar文件。
  2. 在插件的build.gradle文件中,更新rootProject.allProjects为如下所示:
    repositories {
        google()
        jcenter()
        flatDir {
            dirs 'libs'
            dirs project(':your_plugin_name_here').file('libs')
        }
    }
}
  1. 仍然在同一个 build.gradle 中,将您的.aar文件添加为依赖项,如下所示:
implementation(name:'aar_name_here', ext:'aar')
  1. 在您要使用插件的 Flutter 应用程序中,打开应用程序级build.gradle文件并将插件本身添加为依赖项,如下所示:
android {
  ...
  
    dependencies {
        implementation project(':your_flutter_plugin');
    }
}
  1. settings.gradle我们使用插件的应用程序文件中,更改
include ':app'

include ':app', ':your_flutter_plugin'

这应该这样做!

于 2020-12-02T18:43:26.610 回答