记录Gradle编译混淆导致反射找不到方法出错问题

本文详细介绍了ProGuard中各种通配符的使用方法,包括如何利用通配符匹配不同层级的包名、类名及方法等,同时展示了如何通过特定指令避免代码混淆,确保指定类、包或方法的原始名称得以保留。

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

1.通配符*,匹配任意长度字符,但不含包名分隔符(.)
2.通配符**,匹配任意长度字符,并且包含包名分隔符(.)

3.通配符***,匹配任意参数类型


#不混淆指定的类

-keep public class com.kawa.easyconvey.utils.Md5Utils  { *; }


#不混淆指定的包路径

-keep public class com.kawa.easyconvey.utils.**  { *; }


#不混淆指定类的具体方法
-keepclassmembers class com.kawa.easyconvey.activity.FunctionActivity {

    #这个是具体方法 

    private void handlerItemClick(int);   

}}


#不混淆指定的第三方包

-dontwarn com.kawa.aspectjlib.**

-keep public class com.kawa.aspectjlib.**{*;}

如果-dontwarn和-keep 结合使用,意思是保持包里面的所有类和所有方法而不混淆,并且是编译的时候不要警告找不到这个包里面的类的相关引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值