2014-10-11 67 views
2

我有一个主要的Android项目,它依赖于一个子模块。Android Gradle主项目和子模块风味

主项目在Gradle中定义了风味。

此外子模块定义了一些味道。这应该是合乎逻辑的 - 能够为这两个项目提供口味。 例如辅助模块:

productFlavors { 
    flavorName { 
    } 
} 

但是,这并不工作 - 一个消息构建崩溃说,子模块的资源不在主项目中找到。 但是,当我从子模块中删除味道,一切工作正常。

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

我错过了什么?主要和子项目都有可能有味道吗?

回答

3

当您引用您的子模块作为依赖于你的build.gradle文件,一定要指定你指的是哪个子模块的味道:

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

那么请一定要在构建变种,你正在构建你的主要模块所依赖的味道,并且一切都应该解决。

还要确保你引用的库在他们的build.gradle有这个问题,以及:

publishNonDefault true 

没有它似乎机器人工作室不能够依赖于该模块的味道。更多信息here

+0

非常有帮助,非常感谢您。 – VinceStyling 2015-08-14 07:39:55