Gadle 3.0 Flavor错误重复类

时间:2017-10-30 20:10:58

标签: android android-studio gradle android-studio-3.0

将Android Studio和Gradle更新到3.0版后,我无法使用3种风格构建我的应用程序(dbg,production和nostore production)
在每个flavor源集(不包括main)的java / src文件夹中,我有类 Flavors.class ,并为此源集指定了一些方法。
但是当我尝试运行或构建应用程序时,我有错误: post_save
此外,我还添加了gradle变量维Error:(9, 8) error: duplicate class: my.app.namespace.Flavors并为每个风味部分添加flavorDimensions "dbg", "prod","nostore"值 这就是它的外观:

dimension

我不明白什么是错的,这段代码看起来像https://developer.android.com/studio/build/build-variants.html上的样本 现在,在Build Varians面板上,我只有2个varians:dbgProductionNostoreprodDebug和dbgProductionNostoreprodRelease但是在AS和Gradle的先前版本中,我对此面板上的每种风格都有不同的变体。 (看起来像AStudio尝试在同一时间或所有变体中进行单一构建?)

1 个答案:

答案 0 :(得分:12)

您粘贴的配置将正确生成2个变体,因为3个维度中的每个只有1个味道,然后有2个隐式构建类型(发布和调试):

+-----------------+-----------+--------------------+
| myDimensionName | buildType | resulting variant  |
+-----------------+-----------+--------------------+
| dbg             | debug     | dbgDebug           |
| dbg             | release   | dbgRelease         |
| production      | debug     | prodDebug          |
| production      | release   | prodRelease        |
| nostoreprod     | debug     | nostoreprodDebug   |
| nostoreprod     | release   | nostoreprodRelease |
+-----------------+-----------+--------------------+

您可能想要的是1种风味维度,而不是3种口味:

...
flavorDimensions "myDimensionName"
productFlavors {

dbg{
    ndk {
        abiFilters "armeabi", "x86"
    }
    dimension "myDimensionName"
}

production{
    ndk {
        abiFilters "armeabi", "x86"
    }
    dimension "myDimensionName"
}

nostoreprod {
    ndk {
        abiFilters "armeabi", "x86"
    }
    dimension "myDimensionName"
}

这可能是这样的:

write.csv(YOUR_VARIABLE, file = "NAME_OF_YOUR_FILE.csv")