1. 程式人生 > >部署apk時gradle編譯錯誤: Cause: duplicate entry: com/xxx/xxx/xxx.class。已解決

部署apk時gradle編譯錯誤: Cause: duplicate entry: com/xxx/xxx/xxx.class。已解決

執行專案時出現了這個問題,報錯的資訊意思是某個類有重複入口,而且這個類是個kotlin類。但是同樣的程式碼在同事的機子上就沒問題完全可以部署執行。

於是猜想是配置問題,幾經周折找到了原因。解決方法是將下圖紅框中的勾選取消。

這裡寫圖片描述

以下是錯誤日誌。

這裡寫圖片描述

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':rcAnalyze:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100
) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62
) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) ..... Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: com/zhaonan/rcanalyze/ILogReporter$Companion.class
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593) at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720) ... 32 more Caused by: java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: com/zhaonan/rcanalyze/ILogReporter$Companion.class at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Caused by: java.util.zip.ZipException: duplicate entry: com/zhaonan/rcanalyze/ILogReporter$Companion.class at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232) at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109) at com.android.builder.packaging.JarMerger.write(JarMerger.java:196) at com.android.builder.packaging.JarMerger.addDirectory(JarMerger.java:125) at com.android.build.gradle.internal.transforms.LibraryBaseTransform.mergeInputsToLocation(LibraryBaseTransform.java:299) at com.android.build.gradle.internal.transforms.LibraryIntermediateJarsTransform.handleJarOutput(LibraryIntermediateJarsTransform.java:213) at com.android.build.gradle.internal.transforms.LibraryIntermediateJarsTransform.handleMainClass(LibraryIntermediateJarsTransform.java:182) at com.android.build.gradle.internal.transforms.LibraryIntermediateJarsTransform.lambda$transform$0(LibraryIntermediateJarsTransform.java:147) at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424) ... 4 more