我在Android Studio中有一个Kotlin项目。我正在从Kotlin代码在Java接口(interface)中调用静态方法。构建因错误而失败,

Calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'

Android Studio在Kotlin项目中引发构建错误,该项目在Java接口(interface)中调用静态方法-LMLPHP

我的 build.gradle 中有以下内容,
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

我还已在Kotlin编译器设置中将目标JVM版本更改为1.8。尽管如此,该构建仍会引发错误。还尝试了使缓存无效并重新启动。

Android Studio在Kotlin项目中引发构建错误,该项目在Java接口(interface)中调用静态方法-LMLPHP

Android Studio版本:3.0.1

最佳答案

在Android Gradle中设置Kotlin编译选项的正确方法。
对您的应用程序级别进行这些更改 Build.gradle

改变

实现“org.jetbrains.kotlin:kotlin-stdlib-jre7:$ kotlin_version”


implementation "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

然后写这个任务
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    kotlinOptions {
        jvmTarget = '1.8'
        apiVersion = '1.1'
        languageVersion = '1.1'
    }
}

就在下面(不一定)
repositories {
    mavenCentral()
}

有关详细信息,请引用here

10-06 13:12
查看更多