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

构建Android应用时出现:app:kaptGenerateStubsDebugKotlin任务执行失败问题

解决Android构建中JVM目标版本不兼容问题

你遇到的错误是因为Java编译任务和kapt生成桩代码的任务使用了不同的JVM目标版本(1.8 vs 17),导致构建冲突。以下是两种可行的解决方法:

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

在android代码块中添加JVM工具链配置,让Gradle自动管理对应版本的JDK,确保所有任务使用相同的Java版本:

android {
    namespace 'com.waltonbd.daggerwithcheezy'
    compileSdk 32

    defaultConfig {
        // 原有配置不变
        applicationId "com.waltonbd.daggerwithcheezy"
        minSdk 24
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        // 原有配置不变
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    
    kotlinOptions {
        jvmTarget = '1.8'
    }

    // 添加工具链配置
    kotlin {
        jvmToolchain(8)
    }
}

方法二:强制kapt使用相同JVM目标版本

如果不想用工具链,可以直接给kapt任务指定Java版本参数,确保和Java编译任务一致:

android {
    namespace 'com.waltonbd.daggerwithcheezy'
    compileSdk 32

    defaultConfig {
        // 原有配置不变
        applicationId "com.waltonbd.daggerwithcheezy"
        minSdk 24
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        // 原有配置不变
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    
    kotlinOptions {
        jvmTarget = '1.8'
    }

    // 添加kapt参数配置
    kapt {
        javacOptions {
            option("-source", "1.8")
            option("-target", "1.8")
        }
    }
}

额外检查:如果项目根目录的gradle.properties文件里有org.gradle.java.home配置,确认它指向的是Java 8的安装路径,避免环境层面的版本冲突。

内容的提问来源于stack exchange,提问作者Ibrahim Tinku

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:41:21