我的Android版本(使用Cordova)有问题。升级到MacOs Catalina后,通过命令“ cordova build android”构建科尔多瓦应用时收到此错误:
ParseException:不支持的类文件版本53.0。您有什么想法或提示,我该如何解决?
非常感谢您提供每个答案。
整个堆栈错误是:
3秒内失败 36个可执行任务:已执行4个,最新32个 / Users / honzaskalicky / Projects / Marketvision / spring-mobile-tmp / platforms / android / gradlew:命令失败,退出代码为1错误输出: 注意:某些输入文件使用或覆盖不推荐使用的API。 注意:有关详细信息,请使用-Xlint:deprecation重新编译。 注意:某些输入文件使用未经检查或不安全的操作。 注意:使用-Xlint:unchecked重新编译以获取详细信息。 com.android.builder.dexing.DexArchiveBuilderException:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson -core / 2.10.0 / 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)处 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593) 在java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) 在java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720) 在com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:146) 在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:235) 在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:222) 在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:218) 在com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102) 在com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:213) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) 在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173) 在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134) 在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:122) 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) 在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63) 在org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) 在org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)处 在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) 在org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248) 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处 在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) 在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)处 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:80) 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:105)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:99) 在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)处 在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)处 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99) 在org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) 在org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624) 在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 在java.lang.Thread.run(Thread.java:748) 引起原因:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.10.0/ 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar 在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:550) 在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.lambda $ convertToDexArchive $ 1(DexArchiveBuilderTransform.java:488) 在java.util.concurrent.ForkJoinTask $ AdaptedCallable.exec(ForkJoinTask.java:1424) 在java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 在java.util.concurrent.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1056) 在java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) 在java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 引起原因:com.android.builder.dexing.DexArchiveBuilderException:对module-info.class进行分块时出错 在com.android.builder.dexing.DxDexArchiveBuilder.getExceptionToRethrow(DxDexArchiveBuilder.java:143) 在com.android.builder.dexing.DxDexArchiveBuilder.convert(DxDexArchiveBuilder.java:89) 在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:545) ...另外6个 引起原因:com.android.dx.cf.iface.ParseException:不支持的类文件版本53.0 在com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:499) 在com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:420) 在com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:402) 在com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:253) 在com.android.builder.dexing.DxDexArchiveBuilder.dex(DxDexArchiveBuilder.java:99) 在com.android.builder.dexing.DxDexArchiveBuilder.convert(DxDexArchiveBuilder.java:86) ...还有7个
失败:构建失败,并出现异常。
出了什么问题: 任务':transformClassesWithDexBuilderForArmv7Debug'的执行失败。 com.android.build.api.transform.TransformException:com.android.builder.dexing.DexArchiveBuilderException:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files -2.1 / com.fasterxml.jackson.core / jackson-core / 2.10.0 / 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar
答案 0 :(得分:0)
问题解决了
在build.gradle(platforms / android)中,您必须添加库的确切版本,该库不是用Java 9构建的,对我来说,它是杰克逊核心版本2.0.9,它是用Java 9构建的,所以我有使用2.0.0版
对我来说这有效:
dependencies {
// Other dependencies
compile("com.fasterxml.jackson.core:jackson-core:2.0.0"){
force = true
}
}
或者您可以添加到build的末尾。为此:
configurations.all {
resolutionStrategy {
force 'com.fasterxml.jackson.core:jackson-core:2.0.0'
}
}