【问题标题】:Android Studio - How to specify "-jvm-target" option in Java/Kotlin module?Android Studio - 如何在 Java/Kotlin 模块中指定“-jvm-target”选项?
【发布时间】:2020-05-07 15:52:46
【问题描述】:

最近,我试图为我的 Android 应用程序创建一个 Java/Kotlin 模块。 当我创建 Retrofit Interceptor 时,出现错误提示:

无法将使用 JVM 目标 1.8 构建的字节码内联到使用 JVM 目标 1.6 构建的字节码中。请指定正确的“-jvm-target”选项。

这是确切错误的屏幕截图:

我知道如何为我的 Android 模块设置 -jvm-target。但我无法找到如何在 Java/Kotlin 模块中设置它的答案。


这是我已经尝试过的:

[解决方案 1(不工作)]

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

compileKotlin {
    targetCompatibility(JavaVersion.VERSION_1_8)
}

[解决方案 2(不工作)]

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

上面的代码给了我以下错误:

找不到参数的方法 kotlinOptions()

【问题讨论】:

    标签: android android-studio gradle android-module


    【解决方案1】:

    我的 Kotlin 模块的构建脚本中有以下内容,适用于我的项目:

    apply plugin: 'kotlin'
    
    compileKotlin {
        kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8
    }
    
    dependencies {
        // your dependencies...
    }
    

    【讨论】:

    • 对于未来的读者:此解决方案适用于 Kotlin(非 Android)模块。
    【解决方案2】:

    这样的新gradle版本支持

    compileOptions {
            sourceCompatibility = 1.8
            targetCompatibility = 1.8
        }
    

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2020-05-18
      • 1970-01-01
      相关资源
      最近更新 更多