Skip to content

[Bug] Duplicate Class Error when building Android on 7.1.0 Unity 2020.2.4f1 #999

@tmfconan

Description

@tmfconan

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2020.2.4f1
  • Firebase Unity SDK version: 7.1.0
  • Source you installed the SDK: .unitypackage
  • Problematic Firebase Component: Database
  • Other Firebase Components in use: None, only Database
  • Additional SDKs you are using: None
  • Platform you are using the Unity editor on: Windows
  • Platform you are targeting: Android
  • Scripting Runtime: IL2CPP

[REQUIRED] Please describe the issue here:

Compiling for android fails, even with an empty project with only Database package installed. Console output doesn't directly point to firebase, but that's the only changing factor (empty project compiles fine without it).

I have enabled the custom gradle properties as mentioned in the settings and enabled Patch gradleTemplate.properties but that didn't help.

Steps to reproduce:

Created empty unity project. Installed Firebase Realtime Database package. Built for Android.

`
om.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Type androidx.annotation.AnimRes is defined multiple times: E:\codes\TestProject\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_androidx.annotation.annotation-1.1.0.jar:classes.dex, E:\codes\TestProject\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_jetified-androidx.annotation.annotation-1.1.0.jar:classes.dex
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:119)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:445)
at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:348)
at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:50)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:65)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)
at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
at com.android.tools.r8.utils.O.a(:65)
at com.android.tools.r8.D8.run(:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
... 34 more
Caused by: com.android.tools.r8.utils.b: Error: E:\codes\TestProject\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_androidx.annotation.annotation-1.1.0.jar:classes.dex, Type androidx.annotation.AnimRes is defined multiple times: E:\codes\TestProject\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_androidx.annotation.annotation-1.1.0.jar:classes.dex, E:\codes\TestProject\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_jetified-androidx.annotation.annotation-1.1.0.jar:classes.dex
at com.android.tools.r8.utils.y0.a(:21)
at com.android.tools.r8.utils.x0.a(:30)
at com.android.tools.r8.utils.x0.a(:10)
at java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:1990)
at com.android.tools.r8.utils.x0.a(:6)
at com.android.tools.r8.graph.A0$c.a(:6)
at com.android.tools.r8.dex.a.a(:85)
at com.android.tools.r8.dex.a.a(:12)
at com.android.tools.r8.D8.d(:6)
at com.android.tools.r8.D8.b(:1)
at com.android.tools.r8.utils.O.a(:30)
... 36 more

`

Relevant Code:

No code necessary.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions