我们在将库的aar文件(我们称之为library_2
)导入另一个库(我们称之为library_1
)时遇到问题。此外,我们需要在app项目中仅导入library_1.aar文件,并在项目级别提供library_2方法。文件夹结构和相应的.gradle文件是什么?
下图中问题描述:
您需要使用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之间差异的更多详细信息
我已经解决了你所面临的上述问题。请看下面的代码,看看它是否适合您。
在app.gradle文件中添加以下依赖项:
implementation ('package.name.of.aar:modulethree-debug@aar') {
transitive=true
}
注意:modulethree-debug@aar
是您要在其他模块中访问的aar文件。