我有一个主要的Android项目,它取决于子模块。
主项目具有在Gradle中定义的风格。
此外,子模块还定义了一些风格。这应该是合乎逻辑的 - 能够为两个项目提供风味。 例如在子模块中:
productFlavors {
flavorName {
}
}
但这不起作用 - 构建崩溃时会显示一条消息,指出在主项目中找不到子模块资源。 但是当我从子模块中删除风味时,一切正常。
在为子项目定义flavor时似乎混合了构建顺序,这可能是真的吗?
我错过了什么?主项目和子项目是否有可能具有风味?
答案 0 :(得分:3)
当您在build.gradle
文件中引用子模块作为依赖项时,请务必指定您所指的子模块的风格:
dependencies {
compile project(path: ':module', configuration:'yourflavorDebug')
}
然后确保在您的构建变体中,您正在构建主模块所依赖的风格,并且一切都应该有效。
另外请确保您引用的库在build.gradle中也有这个:
publishNonDefault true
没有它,android studio似乎无法依赖该模块的风格。更多信息here。