Gradle组合口味不起作用

时间:2018-05-18 20:37:43

标签: android gradle android-gradle

我在Android上开发并且在使用Gradle的构建逻辑方面遇到了一些困难。

我试图获得一组资源和java文件的组合风格。

我把它们放在src/productFlavor1ProductFlavor2/

文件夹中

但是当我编译构建变体productFlavor1ProductFlavor2DevDebug时,它根本无法从productFlavor1ProductFlavor2文件夹中获取任何内容。

我几乎尝试了一切...... 从语法和顺序:

src/productFlavor1ProductFlavor2/
src/productFlavor1productFlavor2/
src/productFlavor1-productFlavor2/
src/productFlavor1/ProductFlavor2/

尝试指示要抓取的文件夹

android.applicationVariants.all { variant ->
if (variant.getProductFlavors().get(0).name.equals('productFlavor1')
   && variant.getProductFlavors().get(1).name.equals('productFlavor2'))
    variant.sourceSets = 'src/productFlavor1ProductFlavor2'//read only... so doesn't work
}

任何人都知道为什么https://developer.android.com/studio/build/中指出的风味组合实际上不起作用....或者如果我在那里错过了某些东西......

1 个答案:

答案 0 :(得分:0)

要进行此工作,您需要定义多种口味。 不允许组合单一风味尺寸。

我认为将源代码放到多口味文件夹中不是一个好主意,因为您会遇到太多组合需要照顾。

如果我在您的位置,我会分别对待每个维度,即: 有一个单独的文件夹,其中包含productFlavor1和productFlavor2。

检查以下内容:flavorsoverview of build system

不同文件夹的优先顺序: 1.构建变体(完全合格的名称,例如debugFlavor1Flavor2 / src) 1.构建类型(debug / src) 1.产品风味(如果您有多个尺寸,则按声明顺序订购) 1. main / src