当前位置:首页 » 《我的小黑屋》 » 正文

Gradle升级后报错:has been compiled by a more recent version of the Java Runtime (class file version 55.0)

29 人参与  2024年11月26日 10:01  分类 : 《我的小黑屋》  评论

点击全文阅读


在 Android 项目开发中,构建工具(Gradle)的版本与 JDK 环境的兼容性是影响项目编译和运行的重要因素。如果配置不当,很容易出现奇怪的错误。本文结合实际开发中遇到的问题,解析其根本原因。

我这个是升级Gradle后遇到的问题,你如果没有升级Gradle请另寻其他方案。


问题描述

在升级项目的 Gradle 插件版本后,构建过程中出现以下错误:

* What went wrong:java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0> com/android/build/gradle/AppPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

关键信息:

Class file version 55.0:表示需要 Java 11 或更高版本。Class file version 52.0:当前使用的是 Java 8

在配置项目时,Gradle 插件版本更新为 8.7.2,同时构建脚本依赖了较新的工具链。但由于环境中使用的 JDK 版本为 Java 8,导致插件无法被正确加载。


问题原因分析

在 Android Gradle 构建中:

Gradle 插件与 JDK 的兼容性
Gradle 插件的不同版本对 JDK 的要求不同: Gradle 插件 8.x 及以上 需要 Java 11。Gradle 插件 7.x 或更低版本 兼容 Java 8JVM 编译的 Class 文件版本
Java 的每个主要版本对应一个 Class file version: Java 8:Class file version 52.0Java 11:Class file version 55.0Java 17:Class file version 61.0 开发环境未同步更新
项目中 Gradle 插件版本升级后,未同时升级 JDK,导致版本不匹配。

解决方案

针对上述问题,以下是两种解决方案:

方案 1:升级 JDK 到 Java 11 或以上

适用场景
希望使用最新的 Gradle 插件和构建工具特性,同时不受旧版本限制。

步骤 1:安装 Java 11 或以上版本

Windows 环境

下载 OpenJDK 或 Azul Zulu JDK。安装后,设置 JAVA_HOME 为新版本的路径。

macOS/Linux 环境
使用包管理工具安装:

# macOS 使用 Homebrewbrew install openjdk@11# Ubuntu/Debian 使用 APTsudo apt updatesudo apt install openjdk-11-jdk
步骤 2:配置 Gradle 使用正确的 JDK

即使安装了新版本 JDK,也需要确保 Gradle 使用它。可以通过以下方式实现:

gradle.properties 文件中添加:
org.gradle.java.home=/path/to/java11
或者在命令行中设置环境变量:
export JAVA_HOME=/path/to/java11export PATH=$JAVA_HOME/bin:$PATH
步骤 3:验证

执行以下命令,检查 Gradle 使用的 JVM 版本:

./gradlew -v

确保输出的 JVM 部分显示 Java 11 或更高版本。


方案 2:降级 Gradle 插件版本

适用场景
项目需要保持兼容 Java 8,暂时无法升级到 Java 11 或以上。

步骤 1:降级 Gradle 插件

修改项目根目录下的 build.gradle 文件,将 Gradle 插件版本降级到支持 Java 8 的最高版本(例如 7.0.2):

dependencies {    classpath 'com.android.tools.build:gradle:7.0.2'}
步骤 2:调整 Gradle 版本

gradle-wrapper.properties 文件中,调整 Gradle 分发版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
步骤 3:验证

清理项目并重新构建:

./gradlew clean build

最佳实践

匹配 Gradle 插件版本与 JDK 版本:

Java 8:支持 Gradle 插件 7.x 及以下。Java 11 及以上:支持 Gradle 插件 8.x 及以上。

及时更新构建工具:
升级 Gradle 插件时,建议同步升级 JDK 和 Gradle 分发版本,以确保兼容性。


点击全文阅读


本文链接:http://zhangshiyu.com/post/192142.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 林语熙周晏京(离婚后,老公天天跪求复合全集阅读)最新章节免费在线阅读_《离婚后,老公天天跪求复合全集阅读》最新热门小说 -
  • 顾绫雪嬴政《被始皇读心后,文武百官卷疯了!完结版阅读》完整版免费在线阅读_(顾绫雪嬴政)全集免费阅读 -
  • 情深意长皆成空完整版阅读(沈卿林砚辞)抖音热文_《情深意长皆成空完整版阅读》最新章节免费在线阅读 -
  • 姐姐为暴富重伤傅家金孙后火葬场了全集阅读小说(傅延江瑶)全文免费阅读无弹窗大结局_(姐姐为暴富重伤傅家金孙后火葬场了全集阅读免费阅读全文大结局)最新章节列表_笔趣阁(姐姐为暴富重伤傅家金孙后火葬场了全集阅读) -
  • 乔以诺萧瑾淮(不是你好是我好全集阅读)精彩试读_《不是你好是我好全集阅读》全本阅读 -
  • 白月光双双《重生后我成全老公和白月光,他却急了全集》全文免费阅读无弹窗大结局_(白月光双双)最新章节免费在线阅读 -
  • 苏小枫苏末小说免费笔趣阁_苏小枫苏末小说全章完本大结局
  • 死遁后他疯了最新小说全文阅读_最新免费小说沈轻洲林梦江之雪_完本小说(死遁后他疯了)
  • 免费小说《顾里宋婷婷小岳欧颖倩》已完结(顾里宋婷婷小岳欧颖倩)热门小说大结局全文阅读笔趣阁
  • 侄子为求富贵,变性后全家后悔最新小说_免费小说全文阅读(苏小枫苏末)_侄子为求富贵,变性后全家后悔苏小枫苏末小说推荐完结
  • 最新《沈轻洲林梦江之雪》小说(全集完整新上小说大结局(沈轻洲林梦江之雪))全文阅读笔趣阁
  • 拒绝嫁给姐夫后,我在八零年代暴富了(陈小棠沈正韩)阅读 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1