java.lang.abstractMethodError的错误解决「建议收藏」

java.lang.abstractMethodError的错误解决「建议收藏」日常开发中,如果在打包后遇到过java.lang.abstractMethodError的问题,其中一部分,可能是混淆引起的。解决方法就是把提示报错的地方,通过-keep的方式过滤掉,不让那些代码进行混淆。本人遇到的是一个RecyclerView使用时adapter中的getItemCount方法报错。原因是Adapter是内部类,而getItemCount是公共方法。getItemCo…

大家好,又见面了,我是你们的朋友全栈君。

日常开发中,如果在打包后遇到过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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137678.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mpeg4标准包含{xvid\divx,h264\avc}

    mpeg4标准包含{xvid\divx,h264\avc}“MPEG-4由一系列的子标准组成,被称为部……………………………第二部(ISO/IEC14496-2):视讯:定义了一个对各种视觉信息(包括视讯,静止纹理,计算机合成图形等等)的编解码器。对视讯部分来说,众多”Profiles”中很常用的一种是AdvancedSimpleProfile(ASP),例如XviD编码就属于MPEG-4

    2022年9月18日
    1
  • 测试用例八大要素以及设计方法

    测试用例八大要素以及设计方法测试用例(TestCase)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求测试用例八大要素1.测试用例编号由字母、字符、数字组合而成的字符串,有唯一性,易识别性。eg:1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号2)集成测试:产品编号

    2022年6月28日
    27
  • c#程序调试(如何使用debug调试)

    c#的Debug.WriteLine()和Trace.WriteLine()有没有例子?1.区别://输出跟踪信息Trace.WriteLine()将有关跟踪的信息写入Listeners集合中的跟踪侦听器在调试和release模式都输出!默认是写到输出窗口的,也可以指定写到指定文件,或系统日志中!//输出调试信息Debug.WriteLine()将有关调试的信息写入Listener

    2022年4月17日
    93
  • C#中如何使用Parallel.For和Parallel.ForEach[通俗易懂]

    C#中如何使用Parallel.For和Parallel.ForEach[通俗易懂]如何在C#中使用Parallel.For和Parallel.ForEach利用C#中的无锁,线程安全的实现来最大化.NET或.NETCore应用程序的吞吐量。并行是在具有多个内核的系统上并行执行任务的能力。.NETFramework4中引入了对.NET中并行编程的支持。.NET中的并行编程使我们能够更有效地使用系统资源,并具有更好的编程控制能力。本文讨论了如何在.NETCore应用程序中使用并行性。若要使用本文提供的代码示例,您应该在系统中安装VisualStudio2019。在Visu

    2022年7月19日
    11
  • 浅谈安防监控中视频图像处理技术

    浅谈安防监控中视频图像处理技术2019-08-1521:39:20随着计算机软件、硬件技术的日新月异的发展和普及,人类已经进入一个高速发展的信息化时代,人类大概有80%的信息来自图像,科学研究、技术应用中图像处理技术越来越成为不可缺少的手段。安防行业已经进入一个崭新的时代,高清、智能与大数据和云技术的广泛结合应用,成为时代新的话题。随着而来的是,视频图像处理技术也逐渐成熟起来,只有这样才能切合行业技术发展,为此,对于视频…

    2022年6月28日
    26
  • java字符串转时间_java字符串和时间转换[通俗易懂]

    java字符串转时间_java字符串和时间转换[通俗易懂]importjava.text.SimpleDateFormat;importjava.util.Date;//将long字符串转换成格式时间输出publicclassLongToString{publicstaticvoidmain(Stringargsp[]){Stringtime=”1256006105375″;Datedate=newDate(Long.parseL…

    2022年6月2日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号