如何使用gradle和kotlin为android studio设置jvm目标?

Zer*_*ide 10 android gradle kotlin

尝试编译用kotlin编写的单元测试时出现以下错误。

Task :app:compileDebugUnitTestKotlin FAILED ...Cannot inline bytecode built with JVM target 1.7 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option

我尝试android在我的应用中为我的配置设置源兼容性build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)

以及在root中配置所有kotlin编译任务build.gradle

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = '1.8'
    }
}
Run Code Online (Sandbox Code Playgroud)

raf*_*afa 11

1) 在 Mac 上

Android Studio -> Preferences -> Kotlin Compiler -> Change Target JVM version

2) 电脑

Android Studio ->文件->设置-> Kotlin 编译器-> 更改目标 JVM 版本


Dan*_*ele 6

这是Android Studio的临时错误。我需要将此行添加到您的应用的gradle文件中:

android {
    ...
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 看起来这个“临时”错误在九个月后仍然存在。 (4认同)