配景:
近来为了学习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版本
办理思绪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设置不对应
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) |