我在android studio中有一个多模块项目,我希望将一个.aar
文件集成到一个模块中,该模块在App模块中被称为库。项目结构即:
- module1
- module2
- module3
- module4
- moduleApp
module1在module2中用作库引用。
build.gradle module2
:
dependencies {
...
compile project(':module1')
}
模块2和其他模块在App模块中引用。
build.gradle moduleApp
:
dependencies {
...
compile project(':module2')
compile project(':module3')
compile project(':module4')
}
我需要将.aar文件作为库集成在module1中,因为它需要来自module1的实现。我以正常方式进行集成:
build.gradle module1
:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile 'package.name.of.aar:myLibrary@aar'
}
然而,当我运行gradle sync
时,我收到错误:
failed to resolve package.name.of.aar:myLibrary@aar in module2
failed to resolve package.name.of.aar:myLibrary@aar in moduleApp
我应该怎么做才能让module2和moduleApp找到.aar库?我应该在build.gradle文件中包含更多内容吗?
答案 0 :(得分:0)
尝试更改
dependencies {
compile 'package.name.of.aar:myLibrary@aar'
}
为:
dependencies {
compile ('package.name.of.aar:myLibrary@aar'){
transitive=true
}
}
或者,只需添加:
compile 'package.name.of.aar:myLibrary@aar'
到module2和moduleApp
答案 1 :(得分:0)
由于您使用的是带有flat repo
,所有模块的aar文件,它使用module1(在您的情况下为module2和应用程序),您需要aar文件添加到您的build.gradle
存储库中:
repositories {
flatDir {
dirs 'libs'
}
}
并添加依赖项:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}