构建失败,出现异常。原因:IllegalArgumentException,消息:不支持 class 文件主要版本 57

Build failed with an exception. Reason: IllegalArgumentException, message: Unsupported class file major version 57

mxparser 不支持 jdk13

我正在尝试在我的 android 项目中使用 mxparser。 我下载了 MathParser.org-mXparser-v.4.4.0-jdk13.jar 并将其粘贴到我项目的 libs 文件夹中。 但是我的应用构建失败,构建输出为:

FAILURE: Build failed with an exception. What went wrong: Execution failed for task ':app:mergeDebugJavaResource'. Could not resolve all files for configuration ':app:debugRuntimeClasspath'. Failed to transform MathParser.org-mXparser-v.4.4.0-jdk13.jar to match attributes {artifactType=android-java-res, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. > Execution failed for JetifyTransform: C:\Users\somagani\AndroidStudioProjects\MyApplication\app\libs\MathParser.org-mXparser-v.4.4.0-jdk13.jar. > Failed to transform 'C:\Users\somagani\AndroidStudioProjects\MyApplication\app\libs\MathParser.org-mXparser-v.4.4.0-jdk13.jar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 57. (Run with --stacktrace for more details.)

我在 build.gradle(:app) 文件夹中的依赖项是

dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation files('libs\MathParser.org-mXparser-v.4.4.0-jdk13.jar')
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
       

然后我在我的 build:gradle 项目文件

中添加了以下依赖项
    classpath 'org.ow2.asm:asm:8.0'
    classpath 'org.ow2.asm:asm-util:8.0'
    classpath 'org.ow2.asm:asm-commons:8.0'

因此出现以下错误

FAILURE: Build failed with an exception. What went wrong: Execution failed for task ':app:desugarDebugFileDependencies'. A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade Error while dexing.

包括下面这行是没有用的并且给出了与上面相同的错误

classpath 'org.anarres.jarjar:jarjar-gradle:1.0.1'

请帮我解决这个问题。

这是由于 JDK 库中的版本不匹配。该库未更新以支持最新的 JDK 版本。

我已经测试过 jdk10 版本完美运行

  • jdk10 版本的库从此文件夹添加到您的 libs 文件夹:
MathParser.org-mXparser-v.4.4.0-bin-only.zip\MathParser.org-mXparser-v.4.4.0-bin-only\bin\jdk10
  • 将此添加到 build.gradle 文件
implementation files('libs/MathParser.org-mXparser-v.4.4.0-jdk10.jar')

其他版本没试过,你可以试试