ProGuard工具使用介绍

本文分享了作者在使用ProGuard过程中的经验,包括自定义混淆名称、支持JAVA泛型及Spring注解的方法,并提供了过滤告警命令的具体配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要是自己在使用Proguard过程中遇到的一些问题的总结。此工具是目前用的比较广泛的,而且可以支持到JDK8。

在这里我主要是介绍实际操作过程中遇到的问题,基本用法网上很多我就不多说了。

一、ProGuard基本用法

     基本用法网上非常多,按照步骤来就行。我参考的帖子是:

     http://blog.youkuaiyun.com/zhangdaiscott/article/details/45368261

二、主要问题与解决

1、默认的混淆名称是a、b、c这样的简短字符,可以修改为自定义混淆名称

  官网上对类和属性、方法提供了两个属性:  -obfuscationdictionary 和-classobfuscationdictionary

Step1: 自定义个混淆字典,keywords.txt 和 mycfg3.pro放在同一目录下


Step2: mycfg3.pro中配置该属性,该事例中只配了-obfuscationdictionary


Step3: 将mycfg3.pro导入到 ProGuardgui 控制台,看到如下效果:


注意:如果直接这样进行混淆时会报“系统找不到指定路径”错误。问题就出现在这里了D:\0310\demo\keywords.txt。

 查阅源码后发现这个地方后台直接用 new URL(),所以要手动改成file:///D:/0310/demo/keywords.txt”才能成功。


2、对JAVA泛型的支持,需要如下配置:



3、对Spring注解的支持,需要完成以下两步:

    Step1: 配置文件增加:


 Step2: 将混淆后的 demo.jar,解压后用jar命令重新打个jar

           这是我用的:jar cf demo.jar *

3、需要过滤掉告警命令:在mycfg.pro中添加以下命令

     -dontwarn org.springframework.**
    -keep class org.springframework.** {*;}

ProGuard官方提供的操作手册很好,一定要参考,在软件根目录下也有 proguard6.0\docs


以上是我遇到的一些问题,希望对大家有帮助。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值