NoSuchMethodError: 没有接口方法 getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 在类 Ljava/util/Map 中;

Boh*_*sko 5 android kotlin android-databinding android-livedata

我在使用 Android 5.0 的魅族设备上崩溃了。大多数设备上不会出现此崩溃。

错误是: java.lang.NoSuchMethodError: No interface method getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Ljava/util/Map; or its super classes (declaration of 'java.util.Map' appears in /system/framework/core-libart.jar)

在此处输入图片说明

有人经历过类似的事情吗?

Md.*_*man 7

getOrDefault方法是在 API 级别 24 中添加的,低于 API 级别 24 的运行时没有该方法。这就是它在 Android API 级别 21 中不起作用的原因。

  • 有没有办法生成警告或任何 lint 规则来在编译时检测此类方法的使用? (4认同)