我有两种口味,分别是 RQT 和 PRD 。
对于其中之一,我想禁用proguard配置(对于 RQT ,对于两者 buildTypes 禁用 proguard ) 。
喜欢加调理吗?这样的事情有可能吗?
android {
...
flavorDimensions("server")
productFlavors {
rqt {
dimension "server"
applicationIdSuffix ".rqt"
}
prd {
dimension "server"
applicationIdSuffix ".prd"
}
}
...
buildTypes {
debug {
(__if (flavor != RQT) then do proguard config...__)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
proguardFile 'proguard-debug-project.txt'
}
release {
(__if (flavor != RQT) then do proguard config...__)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
proguardFile 'proguard-release-project.txt'
}
}
...
}
答案 0 :(得分:2)
您可以创建其他构建类型,例如debugNoProguard
,releaseNoProguard
等
android {
variantFilter { variant ->
def needed = variant.name in [
'rqtDebugNoProguard',
'rqtReleaseNoProguard',
'prdDebug',
'prdRelease'
]
variant.setIgnore(!needed)
}
buildTypes {
debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
proguardFile 'proguard-debug-project.txt'
}
debugNoProguard {
debuggable true
minifyEnabled false
signingConfig signingConfigs.debug
}
....
}
}
然后,当您想在没有ProGuard的情况下运行调试版本时,可以构建变体rqtDebug
或rqtDebugNoProguard
而不是构建prdDebugNoProguard
。