android最新基于gradle编译字符串混淆的常用配置模板
简书链接:android最新基于gradle编译字符串混淆的常用配置模板
文章字数:102,阅读全文大约需要1分钟
1 | gradle中设置 |
applicationVariants.all { variant ->
variant.javaCompileProvider.configure {
it.doLast {
JavaCompile javaCompile = variant.javaCompile
if (variant.hasProperty('javaCompileProvider')) {
//android gradle 3.3.0 +
javaCompile = variant.javaCompileProvider.get()
} else {
javaCompile = variant.javaCompile
}
if ("${javaCompile.destinationDir}".toLowerCase().contains("relase")) {
println("start classes obfuscation " + "${variant.javaCompile.destinationDir}")
try {
javaexec {
setDefaultCharacterEncoding("utf-8")//这里传错会导致解密出现问题,
main("-jar")
args(
"../obfuseStringGradle.jar",
project.name,
javaCompile.destinationDir,
"../ignore_class.txt",
ENCRYPT_CONFIG_JSON
)
}
} catch (e) {
println("exec encrypt fail.. " + "${e.getMessage()}")
}
}
}
}
}
1 | obfuseStringGradle.jar是混淆程序, |
该套配置可以实现一些字节码的插.桩,甚至干扰流程控制。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 情迁博客!
评论