在将一个库的aar文件(我们将其称为library_2
)导入另一个库(我们将其称为library_1
)时遇到了问题。此外,我们只需要在应用程序项目中导入library_1.aar文件,并使library_2方法在项目级别可用。文件夹结构和相应的.gradle文件是什么?
下图中的问题描述:
答案 0 :(得分:0)
对于您的 library_1 ,您需要使用api
而不是implementation
。首先,将以下代码添加到您的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')
}
现在,当您在应用模块中使用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
答案 1 :(得分:0)
我已经解决了您面临的上述问题。请看下面的代码,看看它是否对您有用。
在您的app.gradle文件中,添加以下内容:
implementation ('package.name.of.aar:modulethree-debug@aar') {
transitive=true
}
注意:modulethree-debug@aar
是您要在其他模块中访问的aar文件。