我有两种不同的口味, 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'
}
}
...
}
最佳答案
您可以创建其他构建类型,例如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
。
关于android - 如何使用gradle为味道配置不同的buildType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55833198/