Android Gradle主项目和子模块风味

时间:2014-10-11 13:03:56

标签: android gradle android-productflavors

我有一个主要的Android项目,它取决于子模块。

主项目具有在Gradle中定义的风格。

此外,子模块还定义了一些风格。这应该是合乎逻辑的 - 能够为两个项目提供风味。 例如在子模块中:

productFlavors {
    flavorName {
    }
}

但这不起作用 - 构建崩溃时会显示一条消息,指出在主项目中找不到子模块资源。 但是当我从子模块中删除风味时,一切正常。

在为子项目定义flavor时似乎混合了构建顺序,这可能是真的吗?

我错过了什么?主项目和子项目是否有可能具有风味?

1 个答案:

答案 0 :(得分:3)

当您在build.gradle文件中引用子模块作为依赖项时,请务必指定您所指的子模块的风格:

dependencies {
    compile project(path: ':module', configuration:'yourflavorDebug')
}

然后确保在您的构建变体中,您正在构建主模块所依赖的风格,并且一切都应该有效。

另外请确保您引用的库在build.gradle中也有这个:

publishNonDefault true

没有它,android studio似乎无法依赖该模块的风格。更多信息here