android 报错 java.lang.NoSuchMethodError: No interface method sort

android 报错 java.lang.NoSuchMethodError: No interface method sort

前言

本来昨天高高兴兴测试完二维码扫描的demo,今天移植到项目里。不到三分钟,测试那边就发bug过来了。。。what???
在这里插入图片描述
让人怪不好意思的。。。。。

java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;)V in class Ljava/util/List; or its super classes (declaration of 'java.util.List' appears in /system/framework/core-libart.jar)
        at com.google.zxing.qrcode.detector.FinderPatternFinder.selectBestPatterns(FinderPatternFinder.java:616)
        at com.google.zxing.qrcode.detector.FinderPatternFinder.find(FinderPatternFinder.java:164)
        at com.google.zxing.qrcode.detector.Detector.detect(Detector.java:81)
        at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:77)
        at com.google.zxing.MultiFormatReader.decodeInternal(MultiFormatReader.java:173)
        at com.google.zxing.MultiFormatReader.decodeWithState(MultiFormatReader.java:87)
        at org.rydc.smart8things.zxing.DecodeHandler.decode(DecodeHandler.java:86)
        at org.rydc.smart8things.zxing.DecodeHandler.handleMessage(DecodeHandler.java:62)
        at android.os.Handler.dispatchMessage(Handler.java:111)
        at android.os.Looper.loop(Looper.java:207)
        at org.rydc.smart8things.zxing.DecodeThread.run(DecodeThread.java:112)

解决

报错结果一顿解析,我们能知道是一个方法在当前系统上还没有。
(其实我是谷歌出来的

以下是找到的解析

ArrayList#sort() was added in API level 24 and runtimes below API level 24 don't have that method. Looks like your compileSdkVersion is at 24 so you got the code to compile in the first place.

Use Collections.sort(list, comparator) instead.

嘿嘿,好像好简单
只需要将原来的语句改成Collections.sort(list, comparator)这个方法就可以了。
举例:
原来的 list.sort(comparator);
修改成 Collections.sort(list, comparator)

但是但是
事情总不是那么简单的,因为报错的地方在ZXING的依赖库里。。。
最后瞎猫捉老鼠把原来的ZXING 3.4.0降到3.3.3,竟然就没事了。

完事

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值