如何正确地将库模块依赖项添加到 Flutter Plugin 的 Android 文件夹? [关闭]

Posted

技术标签:

【中文标题】如何正确地将库模块依赖项添加到 Flutter Plugin 的 Android 文件夹? [关闭]【英文标题】:How do I add library module dependency to a Flutter Plugin's Android folder correctly? [closed] 【发布时间】:2019-07-27 02:21:20 【问题描述】:

我正在尝试在 android 上编写一个依赖第三方库的 Flutter 插件。

依赖项有一个build.gradle 文件,我有源代码,我可以使用gradle build 从命令行构建一个aar 文件。

我尝试使用 Android Studio 添加依赖项,但它最终位于 my_plugin/example/android 目录中,无论我尝试将其移动到插件的 my_plugin/android 目录多少次,我总是失败。

这是一个问题的原因是,即使示例应用程序可以构建和运行,我也无法在其他 Flutter 应用程序中使用该插件(这是创建 Flutter 插件的全部原因)。

我需要如何将本地库模块(源代码)或aar(我可以随时构建)添加到 Flutter 插件的 Android 实现中?

【问题讨论】:

最后,我只是将整个库复制粘贴到我的应用程序代码中,修复了导入,更改了文件夹结构¯_(ツ)_/¯ 同意。整个android插件目录结构非常内嵌;让我想起了过去一切都非常棘手且无证的过去。我一直在搜索示例项目以寻找答案……还没有找到。现在flutter网站也不准确,所以好像是被忽略的项目 【参考方案1】:

嗯,你已经完成了一半......

    转到文件 -> 新模块 -> 选择 JAR/AAR,找到要添加的 JAR/AAR,拒绝创建 gradle 包装器,这将创建一个包含您的文件和 build.gradle 文件的文件夹。复制库文件夹名称以供后续步骤使用。 将新创建的文件夹移动到android 文件夹。 在android 文件夹中打开settings.gradle 并在文件开头添加以下行: include ':android/library_folder_name'android 文件夹中打开 build.gradle 并在依赖项块中添加以下行: implementation fileTree(dir: 'library_folder_name', include: ['*.aar', '*.jar'], exclude: [])

【讨论】:

以上是关于如何正确地将库模块依赖项添加到 Flutter Plugin 的 Android 文件夹? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将库依赖项添加到 Build.scala 的类路径?

如何正确地将库与 cmake 链接?

idea怎么将库添加到类路径

将库从依赖项重定位到 package.json 中的 devDependencies 块的命令?

CMake项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中

Angular CLI 6:将库依赖项放在哪里