Android Studio使用需JDK17的API报Unsupported class file major version 61如何解决
可行解决方案
- 升级适配JDK17的Gradle与AGP版本
Gradle 7.3及以上版本已正式支持JDK17,报错本质是当前项目Gradle版本过低,并非所有Gradle版本都不兼容JDK17,需修改两处配置:- 打开项目根目录下
gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl参数为支持JDK17的Gradle版本地址,示例:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip- 打开项目根目录
build.gradle文件,修改Android Gradle Plugin(AGP)版本与Gradle版本匹配,Gradle 7.6对应AGP 7.4.x版本,示例:
dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } - 打开项目根目录下
- 配置项目Java编译版本
打开app模块下的build.gradle文件,在android闭包中添加Java17编译配置:
android { compileSdk 33 // 需使用33及以上版本适配Java17 compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } // 若项目使用Kotlin,添加以下配置 kotlinOptions { jvmTarget = '17' } }
- 统一Gradle运行的JDK版本
打开Android Studio设置路径:File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK,选择版本为17的内置JDK即可,无需修改本地环境JAVA_HOME变量,避免环境冲突。 - 同步Gradle验证配置
所有配置修改完成后点击Android Studio右上角的Sync Now按钮同步项目,同步完成后重新构建即可正常使用要求Java17的API。
异常排查
- 若同步后仍报版本不兼容错误,可清理项目缓存后重试:点击
File > Invalidate Caches,勾选所有清理选项后重启Android Studio即可。 - 不要同时配置本地JDK环境变量和自定义Gradle JDK,两个版本不一致时会触发额外构建异常。
内容的提问来源于stack exchange,提问作者DiZZie
相关产品推荐
相关产品推荐

