出现Gradle和JVM版本不兼容的处理

956 阅读1分钟

背景知识:Gradle和JVM的关系,Gradle是由Java开发的,本质是一堆class文件,因此需要版本对的上才能运行。在安卓开发中,Gradle用的JVM版本和Android源码编译时指定的Java版本是两套独立系统。

当运行Sync Project with Gradle File的时候,如果出现

Unsupported Gradle JVM. 
Your build is currently configured to use Java 21.0.5 and Gradle 8.0. 
Possible solution: - Upgrade to Gradle 8.5 and re-sync

说明当前项目配置的Gradle版本和Android Studio设置的编译JVM版本不匹配。

  1. Android Studio中,配置Gradle JVM的地方在:Settings / Preferences → Build, Execution, Deployment → Build Tools → Gradle,看到是JetBrains Runtime 21.0.5
  2. gradle版本指定:gradle-wrapper.properties:distributionUrl="xxx/gradle-8.4-all.zip 修改上面任何一个,使得版本匹配。

补充其他JVM版本相关:

  1. 实际安卓app代码,是运行在Android特有的ART上的。和构建的Java版本有兼容关系。
  2. 配置项目编译的JVM版本在build.gradle.kts中。
android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}