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

Android项目构建报错:compileDebugJavaWithJavac与kapt目标版本不兼容

解决Android项目JVM目标版本不兼容问题(无法修改Gradle文件场景)

报错信息

Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac'任务(当前目标版本为19)与'kaptGenerateStubsDebugKotlin'任务(当前目标版本为17)的JVM目标兼容性需设置为同一Java版本。

项目原Build配置

android {
    namespace 'com.something'
    compileSdk 34

    defaultConfig {
        applicationId "com.something"
        minSdk 21
        targetSdk 34
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
        lintOptions {
            checkReleaseBuilds false
        }
    }

    buildTypes {
      // some configurations

    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_19
        targetCompatibility JavaVersion.VERSION_19
    }
    kotlinOptions {
        jvmTarget = '19'
    }
    buildFeatures {
        buildConfig = true
        compose = true
    }
    composeOptions {
        kotlinCompilerExtensionVersion '1.4.7'
    }
}


dependencies {

   // some dependencies

}

解决方案(无法修改项目build.gradle时)

仅靠Android Studio的GUI设置无法彻底解决这个问题,因为Gradle的JVM目标版本由构建脚本控制,AS常规设置无法覆盖脚本配置。但可以通过以下临时方式绕开:

  • 调整Gradle JVM全局设置
    打开File > Settings > Build, Execution, Deployment > Build Tools > Gradle,找到Gradle JVM选项,选择版本为19的JDK。这能保证AS使用的JDK版本和项目目标版本匹配,部分场景下可解决配置未生效的问题。

  • 通过全局Gradle属性覆盖配置
    在用户目录下的.gradle/gradle.properties(Windows路径为C:\Users\[你的用户名]\.gradle\gradle.properties)中添加以下内容:

    kotlin.jvm.target=19
    android.compileOptions.sourceCompatibility=19
    android.compileOptions.targetCompatibility=19
    

    该配置会全局作用于所有使用此Gradle环境的项目,无需修改当前项目的任何文件。

  • 修改项目gradle.properties(若允许)
    如果项目根目录的gradle.properties可以修改,添加上述相同的属性配置,仅对当前项目生效,不会影响其他项目。

内容的提问来源于stack exchange,提问作者404NotFound

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:46:11