ProGuard错误总结

本文针对ProGuard使用过程中常见的五个问题提供了详细的解决方案,包括如何避免输出jar为空、解决方法覆盖问题、保留泛型信息、忽略警告信息及保持异常抛出。

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

[size=xx-small][b]ProGuard使用笔记:[url]http://sd7y.iteye.com/blog/2047741[/url][/b]

------------------------------------------------------------------------------------
[color=red]问题1: Error: The output jar is empty. Did you specify the proper '-keep' options?[/color]
[color=green]这是因为所有的文件都被混淆了, 没有一个正确的入口可以调用jar, 解决方法: 使用-keep参数保证jar不都被混淆[/color]
------------------------------------------------------------------------------------
[color=red]问题2: Error: Method must be overridden in [proguard.optimize.peephole.ClassMerger] if
ever called[/color]
[color=green]添加-dontoptimize即可[/color]
------------------------------------------------------------------------------------
[color=red]问题3: 混淆后源码中的泛型被改为Object类型[/color]
[color=green]-keepattributes Signature #保留签名, 解决泛型的问题[/color]
------------------------------------------------------------------------------------
[color=red]问题4: Error: Please correct the above warnings first.[/color]
[color=green]-dontwarn #缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错[/color]
------------------------------------------------------------------------------------
[color=red]问题5: 混淆后throw Exception丢失, 造成调用位置的try..catch出错[/color]
[color=green]-keepattributes Exceptions #保留异常抛出?[/color][/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值