背景知识: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版本不匹配。
- Android Studio中,配置Gradle JVM的地方在:Settings / Preferences → Build, Execution, Deployment → Build Tools → Gradle,看到是JetBrains Runtime 21.0.5
- gradle版本指定:gradle-wrapper.properties:distributionUrl="xxx/gradle-8.4-all.zip 修改上面任何一个,使得版本匹配。
补充其他JVM版本相关:
- 实际安卓app代码,是运行在Android特有的ART上的。和构建的Java版本有兼容关系。
- 配置项目编译的JVM版本在build.gradle.kts中。
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}