You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio添加kotlin-kapt插件后出现JVM版本兼容错误

解决kaptGenerateStubsDebugKotlin与compileDebugJavaWithJavac的JVM目标版本不兼容问题

问题重现

添加kotlin-kapt插件后构建失败,错误信息如下:

Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
  'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm target
  compatibility should be set to the same Java version.   Consider using
  JVM toolchain: https://kotl.in/gradle/jvm/toolchain 

解决方案

方法1:用Gradle JVM工具链统一版本(推荐)

在app模块的android块中添加JVM工具链配置,强制所有编译任务(包括kapt)使用同一Java版本:

修改后的app模块build.gradle关键代码:

android {
    namespace 'com.example.roomtrain'
    compileSdk 34

    defaultConfig {
        // 原有配置保留
    }

    buildTypes {
        // 原有配置保留
    }
    
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // 新增工具链指定
        toolchain {
            languageVersion = JavaLanguageVersion.of(8)
        }
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    
    buildFeatures {
        dataBinding true
    }
}

方法2:单独为kapt指定JVM目标版本

如果工具链配置无效,直接给kapt任务设置匹配的JVM参数:

在app模块build.gradle中新增kapt配置块:

kapt {
    javacOptions {
        option("-source", "1.8")
        option("-target", "1.8")
    }
}

同时确保kotlinOptions中的jvmTarget保持为1.8。

收尾步骤

修改完成后,执行清理并重新构建:

./gradlew clean build

Windows环境执行:

gradlew.bat clean build

内容的提问来源于stack exchange,提问作者sajede ahmadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:35:15