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

如何解决Android构建错误“当前配置使用Java 19和Gradle 7.5”

问题描述

项目根build.gradle配置

buildscript {
    ext {
        compose_version = '1.4.0-alpha02'
    }
}

plugins {
    id 'com.android.application' version '8.0.0-alpha10' apply false
    id 'com.android.library' version '8.0.0-alpha10' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.21' apply false
    id 'com.google.dagger.hilt.android' version '2.44.2' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Android Studio版本信息

Android Studio Flamingo | 2022.2.1 Canary 10
Build #AI-222.4459.24.2221.9409768, built on December 15, 2022
Runtime version: 17.0.4.1+0-17.0.4.1b469.62-9127311 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Metal Rendering is ON
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false
    gradle.version.catalogs.dynamic.support=true
    ide.images.show.chessboard=true

Non-Bundled Plugins:
    com.android.aas (3.5.1)
    com.jetbrains.kmm (0.5.1(222)-30)

多模块Java/Kotlin配置

每个模块的build.gradle中配置如下:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_11
    targetCompatibility JavaVersion.VERSION_11
    coreLibraryDesugaringEnabled true
}
kotlinOptions {
    jvmTarget = '11'
    freeCompilerArgs += [
            "-opt-in=androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi"]
}

操作与报错情况

原本项目构建正常,在Android Studio偏好设置中设置Gradle JDK为Java 18后,在app模块的gradle构建文件中添加额外的-opt-in=kotlinx.coroutines.ObsoleteCoroutinesApi参数,构建失败,报错信息:

Starting Gradle Daemon...
Gradle Daemon started in 3 s 350 ms

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not open cp_proj generic class cache for build file '/Users/anonymous/github/mobile-android-app/app/build.gradle' (/Users/beecheya/.gradle/caches/7.5/scripts/3am3ttbat0qsqgsjlhtiaj5se).
   > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63

同时收到提示:

Unsupported Java. 
Your build is currently configured to use Java 19 and Gradle 7.5.

Possible solution:
 - Open Gradle wrapper settings, change `distributionUrl` property to use compatible Gradle version and reload the project

Gradle Wrapper内容

#Tue Oct 25 07:38:32 BST 2022
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
解决方案

核心问题

报错里的Unsupported class file major version 63对应Java 19,而当前使用的Gradle 7.5不支持Java 19(Gradle 7.5最高兼容Java 18,官方推荐搭配Java 11/17)。另外虽然设置了Gradle JDK为Java 18,但系统或Android Studio可能存在Java 19的环境干扰,导致Gradle实际调用了不兼容的Java版本。添加参数后触发了新的缓存生成或Daemon重启,才让版本冲突问题暴露出来。

具体修复步骤

  1. 升级Gradle版本
    编辑项目根目录下的gradle/wrapper/gradle-wrapper.properties,将distributionUrl替换为支持Java 19的Gradle版本,比如Gradle 7.6及以上(推荐使用7.6或8.x):

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
    
  2. 统一Java版本配置

    • 打开Android Studio偏好设置(File > Settings或Android Studio > Settings),进入Build, Execution, Deployment > Build Tools > Gradle,确认Gradle JDK设置为Java 11或17(模块编译目标为Java 11,用更高版本JDK编译低版本目标没问题,且和大多数Gradle版本兼容性更好),避免使用Java 18/19。
    • 确保所有模块的compileOptions和kotlinOptions中Java版本统一,保持sourceCompatibility、targetCompatibility和jvmTarget都为11,不要混用不同版本。
  3. 清理缓存并重新同步

    • 执行File > Invalidate Caches... > Invalidate and Restart,清除Android Studio缓存。
    • 手动删除项目根目录的.gradle文件夹和用户目录下的~/.gradle/caches文件夹,然后重新执行构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:10:28