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

升级Android Gradle Plugin至8.0遇JVM版本不兼容问题求助

AGP 8.0升级后Java与Kotlin JVM版本不兼容问题解决

错误含义

这个错误的核心是Java编译任务和Kotlin编译任务的JVM目标版本不匹配——你的Java代码编译目标仍为1.8,但Kotlin已设为17,AGP 8.0开始严格要求两者版本必须一致,否则会直接阻止构建。

修复步骤

  • 检查配置是否全局生效
    如果是多模块项目,仅在单个模块的build.gradle中设置是不够的,需在项目根目录的build.gradle中统一配置所有模块:

    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                android {
                    compileOptions {
                        sourceCompatibility = JavaVersion.VERSION_17
                        targetCompatibility = JavaVersion.VERSION_17
                    }
                    kotlinOptions {
                        jvmTarget = "17"
                    }
                }
            }
        }
    }
    

    同时要确保每个模块的build.gradle里没有单独覆盖这些配置(比如部分模块可能残留了1.8版本的设置)。

  • 排查第三方插件/库的干扰
    部分第三方插件(如老版本的注解处理器、代码混淆插件)可能会强制修改Java版本,需要检查这些插件的配置:要么升级插件到支持Java 17的版本,要么手动指定插件使用的JVM版本为17。

  • 清理Gradle缓存并重新同步
    执行以下操作彻底清理缓存并重建:

    1. 点击Android Studio右上角的Sync Project with Gradle Files按钮同步项目
    2. 执行./gradlew clean(Mac/Linux)或gradlew clean(Windows)命令清理构建产物
    3. 重启Android Studio后再次同步构建
  • 验证配置是否生效
    可以通过Gradle命令确认版本是否统一:

    • 执行./gradlew compileDebugJavaWithJavac -Porg.gradle.debug=true --no-daemon,在输出中查找-target参数,确认值为17
    • 执行./gradlew compileDebugKotlin -Porg.gradle.debug=true --no-daemon,查看jvm-target参数,确认值为17

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:12:39