使用Proguard混淆jar包

本文介绍如何使用ProGuard进行代码混淆,包括配置输入输出路径、选择混淆级别等步骤,并提供了常见问题解决方案,如处理依赖包警告及特定库的保护规则。

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

ProGuard下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9637131

1.Proguard

Proguard的首页,右下角的Load configuration按钮可以导入已经配置好的混淆文件。

Proguard

2.Input/Output

在上面的框内添加要混淆的jar包路径,和混淆后的jar包输出路径。
下面的框内添加jar包的依赖包,项目中lib文件下所有的jar包和jre目录中的部分jar。

Input/Output

3.Shrinking

Shrinking

4.Obfuscation

Obfuscation

5.Optimization

Optimization

6.Information

注意选择jdk版本(Target)。

Information

7.Process

点击右下角的Process按钮生成混淆后的jar包,如果出现Warning,大多数原因是因为依赖包没导全。
点击Save configuration按钮可以保存混淆的配置文件,可以在此文件中修改混淆规则,在首页直接导入即可。
混淆完成后,可以使用jd-gui工具查看混淆后jar包(在lib—jd-gui文件夹中)。
jd-gui下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9637125

Process

8.遇到的问题

混淆的过程中,警告提示有依赖包未导入,实际项目中这些依赖包并没有用到,可在配置文件中忽略。

-dontwarn android.util.**
-dontwarn org.codehaus.**

由于项目中导入了第三方的jar包,混淆之后有些相关的功能直接卡死,在混淆文件中增加如下规则:

#RXTXcomm
-dontwarn gnu.io.*
-keep class gnu.io.** { *;}

#log4j
-dontwarn org.apache.log4j.*
-keep class org.apache.log4j.** { *;}

#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}

#okio
-dontwarn okio.**
-keep class okio.**{*;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值