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