协慌网

登录 贡献 社区

无法将由 JVM target 1.8 生成的字节码内联到由 JVM target 1.6 生成的字节码中

尝试通过 IntelliJ 运行 Example CorDapp( GitHub CorDapp )时,出现以下错误:

无法将由 JVM target 1.8 生成的字节码内联到由 JVM target 1.6 生成的字节码中

如何修改 IntelliJ 设置,以使所有字节码都使用相同的 JVM 目标构建?

答案

app / build.gradle

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8.toString()
    }
}

GL

使用 Java 8 语言功能

您可以按以下方式解决此问题:

  • 打开 IntelliJ 首选项
  • 转到Build, Execution, Deployment > Compiler > Kotlin CompilerOther Settings > 如果 Android Studio> 3.4 Kotlin compiler
  • Target JVM version更改为1.8
  • 点选 [ Apply

您应该在 build.gradle 中配置如下所示的内容

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}