如何在mutlti模块项目中正确实现此依赖关系?

时间:2019-07-19 22:11:37

标签: android gradle android-gradle

因此,我试图将一个大型项目分解为多个模块,但是在添加了新的模块gradle之后会出现此错误Failed to resolve: :api-1: Affected Modules: member_module

像这样,在应用程序build.gralde中使用了

api-1。

dependencies {
    // Add dependency for Snap external API
    implementation(name: 'api-1', ext: 'aar')
. . . . 

Snap API是我们项目中的一个库模块。

如何解决此错误?

2 个答案:

答案 0 :(得分:0)

来自official docs

  1. 要在另一个应用程序模块中使用Android库的代码,请按以下步骤操作:

    • 添加已编译的AAR(或JAR)文件(该库必须已构建):
      1. 单击文件>新建>新建模块。
      2. 单击导入.JAR / .AAR软件包,然后单击下一步。
      3. 输入已编译的AAR或JAR文件的位置,然后单击“完成”。
    • 将库模块导入到您的项目中(库源成为项目的一部分):
      1. 单击文件>新建>新建模块。
      2. 输入库模块目录的位置,然后单击“完成”。

库模块已复制到您的项目中,因此您实际上可以编辑库代码。如果要维护库代码的单个版本,则可能不是您想要的,而应如上所述添加已编译的AAR文件。

  1. 确保该库列在settings.gradle文件的顶部,如此处所示,名为“ my-library-module”的库:
include ':app', ':my-library-module'
  1. 打开应用模块的build.gradle文件,并向依赖关系块添加新行,如以下代码片段所示:
dependencies {
    implementation project(":my-library-module")
}
  1. 点击使用Gradle文件同步项目

答案 1 :(得分:0)

使用以下依赖项行时:

implementation(name: 'api-1', ext: 'aar')

这意味着您要使用aar文件作为依赖项,这与您的意图有所不同。

  

Snap api是我们项目中的库模块。

您需要将库模块添加到主模块中。
首先,检查是否已将库包含在 settings.gradle 中,并确保您具有以下行:

include ':api-1'

第二,使用以下行将库模块添加为依赖项:

implementation project(':api-1')

最后,构建应用。