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

Flutter 使用.aar模块的flatter插件在示例应用程序中构建并运行良好,但无法在其他应用程序中构建,flutter,flutter-plugin,flutter-platform-channel,Flutter,Flutter Plugin,Flutter Platform Channel,我已经编写了一个flatter插件来使用SDK,它需要包含一些.aar模块。它在插件的示例应用程序中构建并运行得非常完美,但当我在其他应用程序中导入插件并尝试构建它时,构建立即失败,并显示一条消息,表明插件中找不到.aar模块之一。这毫无意义,因为模块肯定在那里——如果模块不在那里,使用SDK的平台通道将在示例应用程序中失败 为什么示例应用程序构建和运行时没有任何问题,而另一个应用程序却不会?我能想到的唯一一件事是,我从我的pubspec中的path导入插件,但对我来说,这似乎不太可能是罪魁祸首

我已经编写了一个flatter插件来使用SDK,它需要包含一些.aar模块。它在插件的示例应用程序中构建并运行得非常完美,但当我在其他应用程序中导入插件并尝试构建它时,构建立即失败,并显示一条消息,表明插件中找不到.aar模块之一。这毫无意义,因为模块肯定在那里——如果模块不在那里,使用SDK的平台通道将在示例应用程序中失败

为什么示例应用程序构建和运行时没有任何问题,而另一个应用程序却不会?我能想到的唯一一件事是,我从我的pubspec中的path导入插件,但对我来说,这似乎不太可能是罪魁祸首

如果您有任何建议或帮助,我们将不胜感激。蒂亚

我明白了

答案如下:

这种方式适用于颤振插件,如下所示:

  • 在插件的
    android
    项目的根目录下添加一个
    libs
    文件夹。在那里添加
    .aar
    文件
  • 在插件的
    build.gradle
    文件中,更新
    rootProject.allProjects
    如下所示:
  • 仍然在相同的build.gradle中,添加
    .aar
    文件作为依赖项,如下所示:
  • 在要使用该插件的Flatter应用程序中,打开应用程序级别的
    build.gradle
    文件,并将插件本身添加为依赖项,如下所示:
  • 在使用插件的应用程序的
    settings.gradle
    文件中,更改

  • 这应该可以做到

    通过参考您提到的错误,IDE可能无法找到模块的路径,请确保正确导入aar模块,并检查路径检查是否有帮助。此问题需要其他人提供更多信息以帮助您解决,如果你能附上一些错误的截图,aar模块的确切位置以及它是如何被包括在内的,人们会更好地帮助你。@maheshmnj谢谢你的回复。在导入aar模块的过程中,我确实要确保严格遵守SDK提供的说明。正如我所说,由于示例应用程序运行时没有问题,很明显我做得对。从另一个应用程序中的path导入插件时出现问题。具体消息是:
    具有路径的项目:在项目:插件中找不到模块。
    (不是真实名称)。我也遵循了你链接到的答案中的说明,maheshmnj导入aar模块的步骤是:1)文件>新模块>导入.aar包>从文件中选择.aar>完成2)项目结构>模块>+我刚刚选择的.aar模块3)项目结构>依赖项>我的项目>+我刚刚添加的模块4)确保依赖项列在build.gradle我想到的事情是使用
    api
    而不是
    implementation
    来添加build.gradle中的依赖项,因为
    implementation
    使其他模块无法访问模块,而
    api
    允许其他模块访问。然而,这样做不会带来任何变化。
        repositories {
            google()
            jcenter()
            flatDir {
                dirs 'libs'
                dirs project(':your_plugin_name_here').file('libs')
            }
        }
    }
    
    implementation(name:'aar_name_here', ext:'aar')
    
    android {
      ...
      
        dependencies {
            implementation project(':your_flutter_plugin');
        }
    }
    
    include ':app'
    
    include ':app', ':your_flutter_plugin'