大家好,又见面了,我是你们的朋友全栈君。
日常开发中,如果在打包后遇到过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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137678.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...