Android gradle脚本打包时如何配置只压缩而不混淆?
我们知道gradle打包相关的参数有:
minifyEnabled true // 无用代码剔除及代码压缩,并默认混淆
shrinkResource true // 冗余资源剔除,需要和minifyEnabled true配合使用
其实这两个命令只是以下命令的快捷方式:
postprocessing {
removeUnusedCode true //剔除无用代码
obfuscate true //混淆
optimizeCode true //优化代码
}
因此,如果你想只压缩而不混淆, 使用以下配置替换minifyEnabled和shrinkResource即可:
postprocessing {
removeUnusedCode true
removeUnusedResources true
obfuscate false // <-- 不混淆
optimizeCode true
}
这样,我们可以选择把debug包配置成只压缩不混淆。
相对的,对于一些错误的说法, useProguard false 并不能停用混淆,它只是设置混淆引擎不使用ProGuard 而使用R8。