如何在Android Studio中添加风味?

我有一套使用相同模块的项目,其中包含几乎所有的实际代码。 该项目设置如下:

project/ - app/ - build.gradle - libraries/ - module/ - build.gradle - build.gradle - settings.gradle 

依赖关系都设置正确,我可以build立和运行的应用程序很好,但我只能添加风味的项目,这不是一个理想的解决scheme。 settings.gradle包含以下内容:

 include ':app', ':libraries:module' 

在app目录的build.gradle文件中,我添加了以下代码块:

 productFlavors { alpha production } 

使用Gradle 0.11,这将同步并创buildassembleAlphaDebugassembleAlphaReleaseassembleProductionDebugassembleProductionRelease任务。 当我试图在模块中这样做,而是我得到的错误:

找不到与指定名称匹配的资源(位于'主题',值为'@ style / MyCustomTheme')

在构build的app/src/main/AndroidManifest.xml 。 出于某种原因,该模块没有build立,所以自定义主题不起作用。 我究竟做错了什么?

Related of "如何在Android Studio中添加风味?"

在库模块的build.gradle中,如果从另一个模块中包含的话,你需要一些额外的行来告诉它导出风格和默认使用哪个构build变体:

 android { defaultPublishConfig "productionRelease" publishNonDefault true productFlavors { alpha { } production { } } } 

publishNonDefault位是唯一必要的,如果有人想要依赖除了productionRelease变体以外的东西。 大概是这样的情况,如果你在你的图书馆中设置多种口味。

现在,如果你在build.gradle中通过这个来添加另一个模块的依赖:

 dependencies { compile project(':module') } 

它将默认取决于productionRelease变体。 如果你想依靠一个非默认的变体:

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