0

mxparser不适用于 jdk13

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

FAILURE:构建失败并出现异常。出了什么问题:任务':app:mergeDebugJavaResource'的执行失败。无法解析配置“:app:debugRuntimeClasspath”的所有文件。无法转换 MathParser.org-mXparser-v.4.4.0-jdk13.jar 以匹配属性 {artifactType=android-java-res, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。> JetifyTransform 执行失败:C:\Users\somagani\AndroidStudioProjects\MyApplication\app\libs\MathParser.org-mXparser-v.4.4.0-jdk13.jar。> 无法使用 Jetifier 转换“C:\Users\somagani\AndroidStudioProjects\MyApplication\app\libs\MathParser.org-mXparser-v.4.4.0-jdk13.jar”。原因:IllegalArgumentException,消息:不支持的类文件主要版本 57。(使用 --stacktrace 运行以获取更多详细信息。)

我在 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:构建失败并出现异常。出了什么问题:任务“:app:desugarDebugFileDependencies”执行失败。执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障 dexing 时出错。

包括以下行没有用,并给出与上述相同的错误

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

这个你能帮我吗。

4

1 回答 1

0

这是由于库中的 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')

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

于 2021-04-06T08:32:20.580 回答