只混淆一种味道
Obfuscate only one flavour
我将如何只混淆一种口味。
不幸的是,flavor 2 依赖于一个模块(jar),它使用了 类 的一些重复项,由于它的设置方式,我无法混淆它。 (第 3 方)所以希望跳过混淆味道。
我似乎无法在 flavors 部分定义 minifyENabled false,或者将 flavor 添加到构建部分。
注意,一共有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"
}
}
只要 ProductFlavor
DSL 对象中不存在 minifyEnabled
,那么您就必须创建另一个 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);
}
}
那么你会得到:
我将如何只混淆一种口味。
不幸的是,flavor 2 依赖于一个模块(jar),它使用了 类 的一些重复项,由于它的设置方式,我无法混淆它。 (第 3 方)所以希望跳过混淆味道。
我似乎无法在 flavors 部分定义 minifyENabled false,或者将 flavor 添加到构建部分。
注意,一共有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"
}
}
只要 ProductFlavor
DSL 对象中不存在 minifyEnabled
,那么您就必须创建另一个 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);
}
}
那么你会得到: