嵌套库aar文件行为

问题描述 投票:1回答:2

我们在将库的aar文件(我们称之为library_2)导入另一个库(我们称之为library_1)时遇到问题。此外,我们需要在app项目中仅导入library_1.aar文件,并在项目级别提供library_2方法。文件夹结构和相应的.gradle文件是什么?

下图中问题描述:

java android aar
2个回答
0
投票

您需要使用api而不是implementation为您的library_1。首先,将以下代码添加到library_1项目build.gradle

allprojects {
   repositories {
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

然后在library_1模块build.gradle中,将以下代码添加到依赖项块(假设您已将library_2 aar添加到library_1 libs文件夹):

dependencies {
  api(name:'library_2', ext:'aar')
}

现在,您可以在app_1模块中使用带有以下依赖项块的library_1 aar时访问library_2:

dependencies {
  api(name:'library_1', ext:'aar')
}

有关平板的详细信息,请阅读How to manually include external aar package using new Gradle Android Build System

有关编译,实现和api读取Gradle Implementation vs API configuration之间差异的更多详细信息


0
投票

我已经解决了你所面临的上述问题。请看下面的代码,看看它是否适合您。

在app.gradle文件中添加以下依赖项:

implementation ('package.name.of.aar:modulethree-debug@aar') {
   transitive=true
}

注意:modulethree-debug@aar是您要在其他模块中访问的aar文件。

© www.soinside.com 2019 - 2024. All rights reserved.