jar包混淆

Posted dengjinrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jar包混淆相关的知识,希望对你有一定的参考价值。

   最近需要对jar包进行混淆,对于第一次混淆jar的人来说坑挺多的。先说遇到的坑,之前用eclipse打包jar挺方便的就一直没有更换。导出后使用android SDK中带的proguardgui混淆(目录Sdk oolsproguardinproguardgui.bat)使用流程网上挺多的。但是由于proguardgui不支持jdk8下的rt.jar.只能去找到官网已经下线的jdk7。混淆成功后导入项目后运行居然报Return code 1 for dex process的错误。对于这个错误网上的解决办法是内部类或一个包下的类超过26个。修改后也不见效果。根据这个错误的意思为dex转class出错。我猜测是jdk7下的rt.java的版本适应造成的,比较proguardgui不兼容jdk8。只能抛弃eclipse使用Android studio。使用Android studio时重点在于找到moudle编译生成的classes.jar(不同Android studio下Classes.jar位置不同,网上大部分都是在build/intermediates/bundles/default/,而我使用的3.1在build/intermediates/packaged-classes/release/),使用混淆比较简单将buildTypes下的minifyEnabled改为ture再编写proguard-rules.pro就可混淆成功了。

总结:Android studio功能还是强大很多,注意是proguardgui已经停止维护了。

以上是关于jar包混淆的主要内容,如果未能解决你的问题,请参考以下文章

保护个人劳动成果----------代码混淆 (war/jar)

Android-android 怎么实现只混淆自己的代码,而不混淆第3方jar包

Android Studio 生成混淆后的jar包

Gradle混淆+打包Jar包基础

jar包混淆

proguard 不混淆第三方jar包的问题