Запутать только один аромат

Как бы я запутал только один аромат.

К сожалению, аромат 2 опирается на модуль (jar), который использует некоторое дублирование классов, и я не могу его запутать из-за того, как он настроен. (3-я сторона) Так что хотите пропустить запутывание аромата.

Кажется, я не могу определить minifyENabled false в разделе flavors или добавить аромат в раздел build.

Обратите внимание, что на самом деле всего 6 ароматов. Желание выбирать вкусы, которые должны быть запутаны

   buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {
        flavour1{
            applicationId "uk.co.company.flavour1"
        }
        flavour2{
            applicationId "uk.co.company.flavour2"
        }
   }

1 ответ

Решение

Пока нету minifyEnabled в ProductFlavor Объект DSL, то вам нужно создать другой buildType, например, releaseMinified наряду со стандартом release,

buildTypes {
    release {
        minifyEnabled false
    }
    releaseMinified {
        minifyEnabled true
    }
}

productFlavors {
    minifiableFlavor{}
    nonMinifiableFlavor{}
}

И включите этот тип сборки только для аромата, который нуждается в этом:

android.variantFilter { variant ->
    if (variant.buildType.name.equals('releaseMinified') && !variant.getFlavors().get(0).name.equals('nonMinifiableFlavor')) {
        variant.setIgnore(true);
    } else if (variant.buildType.name.equals('release') && variant.getFlavors().get(0).name.equals('nonMinifiableFlavor')){
        variant.setIgnore(true);
    }
}

Тогда вы получите:

Типы сборки

Другие вопросы по тегам