使用 .aar 模块的 Flutter 插件在示例应用程序中构建并运行良好,但无法在不同的应用程序中构建

Flutter plugin that uses .aar modules builds and runs fine in the example app but fails to build in a different app

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

为什么示例应用程序可以构建并且 运行 没有任何问题,但不同的应用程序却不会?我唯一能想到的是我从我的 pubspec 中的路径导入插件,但我认为这不太可能是罪魁祸首。

如有任何建议或帮助,我们将不胜感激。 TIA!

我明白了!!!!

答案如下:How to add .aar dependency in library module?

Flutter插件适配方式如下:

  1. 在插件中 android 项目的根目录下添加一个 libs 文件夹。在那里添加 .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'

这应该可以做到!!