'@JvmDefault' is only supported since JVM target 1.8. Recompile with '-jvm-ta

Java 1.8加入了接口默认实现的方式。
那么在kotlin中如何使用呢?
可以在方法上加注解@JvmDefault
但直接加上后会编译会碰到一些错误提示。下面是解决方法。

问题

Logcat 提示

'@JvmDefault' is only supported since JVM target 1.8. Recompile with '-jvm-target 1.8'

解决

在gradle中插入以下代码

android {
   //..其他代码...

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

问题

Logcat 提示:

Usage of '@JvmDefault' is only allowed with -Xjvm-default option

解决

加入:'-Xjvm-default', 'enable'

    kotlinOptions {
        jvmTarget = "1.8"
        freeCompilerArgs += [
                '-Xjvm-default', 'enable'
        ]
    }
posted @ 2022-03-08 19:13  AceDY  阅读(101)  评论(0编辑  收藏  举报