我正在将我的Android项目迁移到AndroidX库中。蝶形刀10.x已经改进了对它的支持,所以我认为使用它是很好的。我的项目是用Kotlin (1.3.30)制作的。
大于8的Butterknife版本要求您使用Java 8,如下所示:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
这对minsdk >=24非常有效。对于一个好的部分,它也可以与较低的版本一起工作。但是,当Kotlin编译到Java8时,一些特性在minsdk <24上不起作用。例如,我为其获取以下异常的那个。
java.lang.NoSuchMethodError: No static method hashCode(J)I in class Ljava/lang/Long; or its super classes (declaration of 'java.lang.Long' appears in /system/framework/core-libart.jar)
Long.hashCode()是Java8中的一个新接口,但在较老的安卓版本中不受支持。This question通过告诉编译器使用Java6解决了同样的问题,但我的AndroidX所需的Butternache10.x不支持这一点。
我想这是一个很常见的问题,但我还没有找到解决方案。我该如何解决这个问题呢?
https://stackoverflow.com/questions/55689197
复制相似问题