Gradle组合口味不起作用

问题描述 投票:0回答:1

我在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/中指出的风味组合实际上不起作用....?或者,如果我在那里错过了某些东西......

android gradle android-gradle
1个回答
0
投票

要完成这项工作,您需要定义多个风格的维度。不允许组合单一风味尺寸。

我认为将源代码放到多味文件夹中并不是一个好主意,因为你需要处理太多的组合。

如果我在你的位置,我将分别处理每个维度,即:有一个单独的文件夹与productFlavor1和productFlavor2。

看看这个:flavorsoverview of build system

不同文件夹的优先顺序:1。构建变体(完全限定名称,如debugFlavor1Flavor2 / src)1。构建类型(debug / src)1。产品味道(如果你有多个维度,他们按照声明的顺序排序)1。主/ src目录

© www.soinside.com 2019 - 2024. All rights reserved.