proguard 不混淆内部类的方法

本文介绍了使用ProGuard进行代码混淆时,如何避免特定内部类被混淆或优化掉的方法。提供了两种有效策略:一是保留整个包及其所有成员;二是指定保留内部类及其实现的公共方法和字段。

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

保持proguard 不混淆内部类的方法有两种方法:


第一种:

直接-keep整个包下所有的类以及方法不被混淆;

如:-keep class com.AnywayAds.**{*;}


第二种:

-keepnames class com.AnywayAds.Mini$* {
    public <fields>;
    public <methods>;
}


这种两种方式可以禁止混淆内部类。


我遇到的问题是webview下调用js的时候的一个内部类,被proguard给优化掉了,结果造成无法调用js


补充一下,如果用第二种方法的话,内部类的方法想不被优化掉,必须在代码中调用一下,否则还是会被优化掉。所以还是用第一种会比较好。


第二种方法引用http://blog.youkuaiyun.com/shuicg/article/details/8299936。

转载于:https://my.oschina.net/dccjll/blog/1536703

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值