我在android studio中有一个多模块项目,我想将一个.aar
文件集成到一个模块中,该模块在App模块中被引用为库。项目结构为:集成.aar文件在多模块android studio项目
- module1
- module2
- module3
- module4
- moduleApp
模块1用作模块2中的库引用。
build.gradle module2
:
dependencies {
...
compile project(':module1')
}
的模块2和其他模块在日应用模块被引用。
build.gradle moduleApp
:
dependencies {
...
compile project(':module2')
compile project(':module3')
compile project(':module4')
}
我需要一个.aar文件库集成在模块1,因为它是从模块1 impementation要求。我以正常方式整合:
build.gradle module1
:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile 'package.name.of.aar:[email protected]'
}
然而,当我运行gradle sync
我收到错误:
failed to resolve package.name.of.aar:[email protected] in module2
failed to resolve package.name.of.aar:[email protected] in moduleApp
我应该怎么做才能让模块2和moduleApp找到.aar库?我应该在build.gradle文件中包含更多内容吗?
flatDir {dirs'libs'}是一个有效的存储库。在module1的libs文件夹下,我放置了myLibrary.aar文件。 module1不是.aar库。它是一个需要myLibrary.aar的代码模块。 – arjacsoh
我道歉,我完全误解了你的问题。你应该使用'transitive = true',如我链接到的答案所示。更新我的答案。 – RaGe
我已经尝试过你的第二种方法,它不起作用。我将申请transisive,但我不知道是否应该将它设置为“编译”:module1'时添加它作为模块2和moduleApp中的依赖项,因为这是在其他模块引用为库的模块 – arjacsoh