Java混淆工具ProGuard的最简明使用方法及Warning: can’t find referenced class xxx的解决方法

ProGuard是一个广受欢迎的Java混淆工具,很多Android应用也会使用该工具进行混淆。下面简单总结一下其出现的Warning: can’t find referenced class xxx这类问题的解决方法。

ProGuard最好是通过命令行运行,但是对于只想用一下工具以完成任务的朋友,也许GUI也就够用了。我们将压缩包解压后,在lib目录下双击proguardgui.jar,就可以启动其GUI。然后一步步按照引导来做就行,这方面网上已经有很多教程。需要指出的是,如果是第一次使用的朋友,往往会在进行“Process”之后出现如下面所示的问题:

Warning: org.makagiga.commons.crypto.MasterKey: can't find referenced class javax.crypto.KeyGenerator

解决方法也很简单,网上很多日志也说到了,但是大部分是针对命令行方式的。这里介绍一种最简单的方法:在其他选项都设置好后,在Process这一步之前,可以选择“Save Configuration”,保存成ProGuard的配置文件(无所谓文件后缀)。然后针对上面的问题,我们打开刚才保存的配置文件,可以看到类似这样的内容:

-injars 'D:\Projects\makagiga-source-4.8\dist\images.jar'
-injars 'D:\Projects\makagiga-source-4.8\dist\makagiga.jar'
-outjars 'D:\Projects\makagiga-obsfucated-jar'
 
-libraryjars 'D:\Program Files\Java\jre7\lib\rt.jar'

要解决刚才这个问题,我们在后面加上:

-dontwarn javax.crypto.**
-keep class javax.crypto.**

按照类似的方法将所有的Warning处理掉,然后再用ProGuard将刚才保存的配置文件打开(重启ProGuard之后,选择“Load Configuration”),如果不出意外,就可以生成混淆以后的JAR包或者class文件了。其实,个人感觉ProGuard这个功能挺弱智的。另外,通过直接在配置文件上修改,也免去了大家学习GUI复杂选项的过程,适合需要在半天内完成任务的朋友借鉴。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值