Android Studio升级版本后,提示Java Runtime (class file version 55.0), this version of the Java Runtime on...

背景:

    最近为了学习Compose,将Android Studio由4.2.1升级到Dolphin | 2021.3.1 Patch 1版本,后续build项目的时候出现错误提示

    Cause: com/android/tools/idea/gradle/run/OutputBuildAction 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


解决思路1: 升级JDK版本

点击File-Project Structure


切换至新AS所需的11版本


解决思路2: 

    一般来说,到这里问题就解决了,可以正常Build,但是我的项目因为gradle配置的问题,走到最后一步未能打包,具体错误是

Unable to load class 'javax.xml.bind.JAXBException'.

This is an unexpected error. Please file a bug containing the idea.log file.


经查是gradle相关错误,


gradle-wapper.properties中的配置
根目录项目build.gradle的配置3.6.4

发现项目中gradle配置不对应

gradle 介绍

Gradle 不是Google开发的。Gradle是有专门的团队进行开发维护。并且完全开源的自动化构建工具。IDEA 默认集成了该工具。可以方便的帮我们将项目代码进行构建打包,是一个脚本工具。

Gradle官网:gradle.org

如果你想了解更多与gradle的相关资料,可以通过官网进行了解。

我们通常在build.gradle 下编辑输入的代码叫做groovy语言。如果想了解可以学习groovy语言的基本知识。

Android Gradle 插件

Android Studio 是采用Gradle 进行代码的打包编译以及构建项目的。

但是Gradle是一个开源的自动构建工具,是面向全平台的。所以Android 在基于Gradle进行了二次开发,整合了几项专门用于构建Android应用的功能。

而该工具命名为:com.android.tools.build:gradle:xxxx 。

所以,到这里大家理解两者关系了。

//这个地方是android 自己定制化Gradle的插件版本

classpath 'com.android.tools.build:gradle:3.6.4'

//gradle/wrapper/gradle-wrapper.properties 这个是系统独立的Gradle的版本号。

distributionUrl=https://downloads.gradle-dn.com/distributions/gradle-5.6.4-all.zip

所以,这两个的版本号不统一。

但是,AndroidGradle 是需要依赖于gradle的,所以两个之间的对应关系比较重要

最新信息

由于以前两个插件的版本一直对应不上,容易造成大家的误解。Android Gradle的版本号 在Gradle发布7.0后,进行了同步。也就是我们在上面看到的。7.0之后就同步上了。两个版本号一致


所以在项目修改build.gradle中"classpath 'com.android.tools.build:gradle:4.0.0'"与gradle-6.1.1-all.zip对应后,顺利编译

  

参考链接:

CSDN: AndroidStudio编译报错记录

CSDN: Android Studio 中的Gradle版本介绍

stackoverflow:How to resolve Java Runtime (class file version 55.0)

你可能感兴趣的:(Android Studio升级版本后,提示Java Runtime (class file version 55.0), this version of the Java Runtime on...)