Kotlin中“Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6”错误
大家好!我是Kotlin和Android开发的新手。最近在IntelliJ IDEA中构建项目时遇到了一个奇怪的错误。我有一个使用Corda库的简单项目。当我尝试编译项目时,Gradle报出以下错误:
```
Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6
```
该错误在多个地方出现,但最常见的是在调用Kotlin标准库中的inline函数时,例如`let`、`apply`或`also`。以下是我的代码示例:
```kotlin
fun processData(data: String?) {
data?.let {
println("Data is not null: $it")
}
}
fun main() {
processData("Hello, Kotlin!")
}
```
我使用的是Kotlin 1.3.72版本,而在`build.gradle`中我指定了:
```groovy
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
}
```
我读到这与不匹配有关。