java.lang.abstractMethodError的错误解决

日常开发中,如果在打包后遇到过java.lang.abstractMethodError的问题,其中一部分,可能是混淆引起的。

解决方法就是把提示报错的地方,通过-keep 的方式过滤掉,不让那些代码进行混淆。

本人遇到的是一个RecyclerView使用时adapter中的getItemCount方法报错。原因是Adapter是内部类,而getItemCount是公共方法。getItemCount被混淆后,系统找不到,便认为你没有实现。(我大概猜的)

解决方案如下,找到自己项目中的混淆配置文件,一般名称为proguard.cfg或proguard.txt,如果都不是就再看看,里面都是一些-keep class xxxx的语句。

在混淆配置文件中,添加过滤语句,如

-keep class com.slr.example.adapter.DataAdaper{
     public <methods>;
}

便可过滤掉Adapter中的公共方法如getItemCount,从而避免报错。

参考文章

RecyclerView混淆之后出现AbstractMethodError

RecyclerView进行代码混淆后报AbstractMethodError

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值