【发布时间】:2021-03-13 13:31:23
【问题描述】:
我编写了一个 Flutter 插件来使用需要包含一些 .aar 模块的 SDK。它在插件的示例应用程序中构建和运行完美,但是当我在另一个应用程序中导入插件并尝试构建它时,构建立即失败,并显示一条消息,指出在插入。这是没有意义的,因为模块肯定存在 - 如果模块不存在,则在示例应用程序中使用 SDK 的平台通道将失败。
为什么示例应用可以毫无问题地构建和运行,而其他应用却不会?我唯一能想到的是我从我的 pubspec 中的路径导入插件,但在我看来这不太可能是罪魁祸首。
如有任何建议或帮助,我们将不胜感激。蒂亚!
【问题讨论】:
-
通过参考您提到的错误可能IDE无法找到模块的路径,请确保您正确导入aar模块并检查路径检查是否有帮助@987654321 @
-
此外,如果您可以附上错误的一些屏幕截图,以及 aar 模块的确切位置以及它是如何被包含的,那么这个问题需要更多信息来帮助您解决问题,人们会更好地帮助您。
-
@maheshmnj 感谢您的回复。在导入 aar 模块时,我确实特别确保了我遵循 SDK 提供的说明。正如我所说,由于示例应用程序运行没有问题,很明显我做对了。从另一个应用程序的路径导入插件时会出现此问题。具体消息为:
Project with path ':module' could not be found in project ':plugin'.(非实名)。我也确实按照您链接到的答案中的说明进行操作,但没有任何改变。 -
@maheshmnj 我导入 aar 模块的步骤是:1) 文件 > 新模块 > 导入 .aar 包 > 从文件中选择 .aar > 完成 2) 项目结构 > 模块 > + .我刚刚选择的 aar 模块 3) 项目结构 > 依赖项 > 我的项目 > + 我刚刚添加的模块 4) 确保依赖项在 build.gradle 中列出
-
发生在我身上的事情是使用
api而不是implementation在 build.gradle 中添加依赖项,因为 developer.android.com/studio/build/dependencies 说implementation阻止模块被其他模块访问,而api允许其他模块访问。但是,这样做不会产生任何变化。
标签: flutter flutter-plugin flutter-platform-channel