如何在Minsdk <24上将Kotlin与Butterknife 10.1.0一起使用?

巴特·奥德克

我正在将Android项目迁移到AndroidX库。Butterknife 10.x改进了对此的支持,因此我认为使用它是很好的。我的项目是在Kotlin(1.3.30)中完成的。

大于8的Butterknife版本要求您使用Java 8,如下所示:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

这对于minsdk> = 24很有用。在很大程度上,它也适用于较低版本。但是随着Kotlin编译为Java 8,某些功能在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()是Java 8中的新api,但在较早的android版本中不支持。这个问题通过告诉编译器使用Java 6解决了相同的问题,但是我对AndroidX需要的Butterknife 10.x不支持该问题。

我想这是一个很常见的问题,但是我还没有找到解决方案。我该如何解决?

巴特·奥德克

该问题与使用Kotlin 1.3.30有关(请参阅本问题)。我已经通过使用Kotlin 1.3.21临时解决了该问题。在D8的未来版本中,Long和Char的静态方法也将在此处废止它已经修复,但是要达到D8的稳定版本还需要一些时间。之后,这将不再是问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Windows 10上将所有NUMA节点与openMP一起使用

在Windows 10的Ubuntu上将Cmder与Bash一起使用

如何在Kubernetes上将WebRTC与RTCPeerConnection一起使用?

如何在 Ubuntu 上将 tsify 与 watchify 一起使用?

如何在cyginw上将prezto与zsh一起使用

如何与Kotlin一起使用片段

如何使Coldfusion 10与Windows 10中的IIS 10一起使用

如何在Windows 10中将GLPK与cvxopt一起使用?

如何在iOS10中将Notification Service Extension与UNNotification一起使用

我如何在N1ql中将分页符与“光标”一起使用?

如何在angular 1中一起使用ng-if和ng-options

如何在TIdMultiPartFormDataStream中包含文件以与Indy IdHTTP1.Post一起使用?

如何在OSX上将/ etc / fstab和/或automount与sshfs一起使用?

如何在Vagrant(Homestead)上将XDebug与VSCode一起使用?

SWT:如何在OS X上将Program.launch()与参数一起使用?

如何在锈迹斑斑的Windows上将DLL与DynamicLibrary一起使用?

如何在macOS 15.15上将Symbol Image与Image一起使用

如何在两个字段上将COUNT与GROUP BY一起使用

如何在HPC群集上将所有分配的节点与python一起使用

如何在Django Rest Framework上将普通Filter和SearchFilter一起使用?

如何在Google Colab TPU上将TorchAudio与Torch Xla一起使用

如何在github https存储库地址上将git与ssh一起使用?

如何在事件上将RxJ与Socket.IO一起使用

如何在Android上将SSL与多实体一起使用

如何在OS X上将Boehm GC与GCC的__attribute __((section ...))一起使用?

如何在WebSphere Liberty上将H2数据库与JPA一起使用

如何在Android上将Java XPath与KML文件和名称空间一起使用

如何在Snow Leopard上将Homebrew Python版本与Homebrew MacVim一起使用?

如何在服务上将自定义映射器与IObjectMapper一起使用