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

Android Gradle配置kapt生成Java17存根的问题与解决

Android构建警告:JVM目标版本不一致问题解决

问题现象

构建Android项目时触发警告:

compileProductionDebugJavaWithJavac任务JVM目标版本为17,而kaptGenerateStubsProductionDebugKotlin任务为1.8,二者版本需一致,Gradle 8.0+默认会转为错误。

无效尝试

先后尝试两种配置kapt生成Java 17存根的方法,均未消除警告:

  • 在模块级build.gradle中配置kapt的javac参数:
    kapt {
        javacOptions {
            option("-source", "17")
            option("-target", "17")
        }
    }
    
  • 在模块级build.gradle中设置Kotlin的JVM目标:
    kotlinOptions {
        jvmTarget = "17"
    }
    

开启kapt3 verbose日志后确认javac选项已设为17,但警告依旧存在。

最终解决方法

在**项目级build.gradle**中添加subprojects配置,统一所有子模块的kapt存根生成任务JVM目标版本:

subprojects {
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs) {
        kotlinOptions.jvmTarget = "17"
    }
}

问题重现环境

  • Gradle版本:8.1.1
  • Android Gradle Plugin (AGP)版本:8.0.2
  • Kotlin版本:1.8.22
  • 编译SDK版本:33
  • 目标SDK版本:33

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:50:33