Android Gradle主项目和子模块的口味

4

我有一个主要的安卓项目,它依赖于一个子模块。

主要项目在Gradle中定义了多个风格。

此外,子模块也定义了几个风格。这是合理的 - 可以为两个项目都定义不同的风格。 例如,在子模块中:

productFlavors {
    flavorName {
    }
}

但是这样做不起作用——构建会崩溃,并显示一个消息,说在主项目中找不到子模块资源。但是当我从子模块中删除味道时,一切都可以正常工作。
似乎在为子项目定义口味时混淆了构建顺序,这可能是真的吗?
我错过了什么?甚至可能让主项目和子项目都有口味吗?
1个回答

3

当您在build.gradle文件中引用子模块作为依赖项时,请确保指定所引用的子模块的哪个版本:

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

如果您的主模块依赖于特定版本,请确保在构建变体中构建该版本,这样一切都应该可以正常工作。

同时,也请确保您所引用的库在其build.gradle中具有以下内容:

publishNonDefault true

如果没有它,Android Studio似乎不能依赖于该模块的味道。更多信息在这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接