尝试编译用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
}
以及在根build.gradle
中配置所有kotlin编译任务:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = '1.8'
}
}
答案 0 :(得分:7)
这是Android Studio的临时错误。 我需要将此行添加到您应用的gradle文件中:
android {
...
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
kotlinOptions {
jvmTarget = "1.8"
}
...
}
答案 1 :(得分:2)
1)在Mac上
Android Studio -> 首选项-> Kotlin编译器->更改目标JVM版本
2)PC
Android Studio -> 文件-> 设置-> Kotlin编译器->更改目标JVM版本
答案 2 :(得分:1)
default target JVM bytecode是1.6。 但这可以通过更改build.gradle(:app)来设置:
android{
...
kotlinOptions {
jvmTarget = 1.8
}
}
看来,Android Studio Kotlin编译器的目标JVM选项不起作用。