Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 只混淆一种味道_Android_Proguard_Android Productflavors - Fatal编程技术网

Android 只混淆一种味道

Android 只混淆一种味道,android,proguard,android-productflavors,Android,Proguard,Android Productflavors,我该如何去混淆一种味道呢 不幸的是,Flavor2依赖于一个模块(jar),该模块使用了一些类的复制,由于它的设置方式,我无法混淆它。(第三方)所以我不想混淆味道 我似乎无法在flavors部分定义minifyENabled false,也无法将flavor添加到build部分 注意,实际上总共有6种口味。人们的愿望是挑选应该混淆的口味 buildTypes { release { minifyEnabled true pro

我该如何去混淆一种味道呢

不幸的是,Flavor2依赖于一个模块(jar),该模块使用了一些类的复制,由于它的设置方式,我无法混淆它。(第三方)所以我不想混淆味道

我似乎无法在flavors部分定义minifyENabled false,也无法将flavor添加到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"
        }
   }

只要DSL对象中不存在
minifyEnabled
,则必须创建另一个构建类型,例如
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);
    }
}
然后你会得到: