Search Unity

Question Android Build Error in Unity 2020.3.3f1

Discussion in 'Android' started by Rajmahal, Apr 16, 2021.

  1. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Hi all,

    I upgrade my existing project to Unity 2020.3.3f1 and I get a build failure when trying to make the build. I didn't have this in Unity 2019.2. I'm not really familiar with Android stuff so I'm not sure how to fix it. For SDK / NDK / JDK, I have the preferences set to using default Unity versions. I have minimum API set to 24 and Target API set to Highest Installed.

    Code (CSharp):
    1.  
    2. G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar: D8: Type bitter.jnibridge.JNIBridge$a is defined multiple times: G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar:classes.dex, G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_unity-classes.jar:classes.dex
    3. com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
    4. Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
    5. Type bitter.jnibridge.JNIBridge$a is defined multiple times: G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar:classes.dex, G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_unity-classes.jar:classes.dex
    6.     at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
    7.     at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:119)
    8.     at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
    9.     at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:445)
    10.     at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:348)
    11.     at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:50)
    12.     at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47)
    13.     at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:65)
    14.     at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)
    15.     at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
    16.     at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
    17.     at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    18.     at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    19.     at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    20.     at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    21.     at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    22.     at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    23.     at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    24.     at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    25.     at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    26.     at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    27.     at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)
    28.     at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
    29.     at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
    30.     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    31.     at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
    32.     at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
    33.     at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
    34.     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    35.     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    36.     at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    37.     at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    38.     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    39.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    40.     at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    41.     at java.lang.Thread.run(Thread.java:748)
    42. Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
    43.     at com.android.tools.r8.utils.O.a(:65)
    44.     at com.android.tools.r8.D8.run(:11)
    45.     at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
    46.     ... 34 more
    47. Caused by: com.android.tools.r8.utils.b: Error: G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar:classes.dex, Type bitter.jnibridge.JNIBridge$a is defined multiple times: G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar:classes.dex, G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_unity-classes.jar:classes.dex
    48.     at com.android.tools.r8.utils.y0.a(:21)
    49.     at com.android.tools.r8.utils.x0.a(:30)
    50.     at com.android.tools.r8.utils.x0.a(:10)
    51.     at java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:1990)
    52.     at com.android.tools.r8.utils.x0.a(:6)
    53.     at com.android.tools.r8.graph.A0$c.a(:6)
    54.     at com.android.tools.r8.dex.a.a(:85)
    55.     at com.android.tools.r8.dex.a.a(:12)
    56.     at com.android.tools.r8.D8.d(:6)
    57.     at com.android.tools.r8.D8.b(:1)
    58.     at com.android.tools.r8.utils.O.a(:30)
    59.     ... 36 more
    60. FAILURE: Build failed with an exception.
    61. * What went wrong:
    62. Execution failed for task ':launcher:mergeExtDexRelease'.
    63. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
    64.    > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
    65.      Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
    66.      Type bitter.jnibridge.JNIBridge$a is defined multiple times: G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\1_unity-classes.jar:classes.dex, G:\Game Projects\Shieldwall Chronicles Mobile - Copy\TempleOfShadows\Temp\gradleOut\launcher\build\intermediates\external_file_lib_dex_archives\release\out\0_unity-classes.jar:classes.dex
    67. * Try:
    68. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    69. * Get more help at https://help.gradle.org
    70. BUILD FAILED in 1s
    71. Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    72. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
    73.  
    74.  
    I don't really know much about Android so the error message is greek to me. Can anyone provide any guidance? Much appreciated,
     
    DMorock likes this.
  2. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Quick update, I was able to get past this enabling R8 and Release on my Minify settings:

    upload_2021-4-19_9-13-14.png

    Can I confirm that Release is the right option for submitting the final version of the game to the play store?
     
    atur94 likes this.
  3. unity_X2mWNhy54HhGgg

    unity_X2mWNhy54HhGgg

    Joined:
    Nov 27, 2020
    Posts:
    7
    You should use the 2019 version
     
    Last edited: Apr 21, 2021
  4. DMorock

    DMorock

    Joined:
    Mar 26, 2015
    Posts:
    9
    The same in 2020.3.11f1
    Does anyone know and can explain the cause of it? Please :(
     
  5. DMorock

    DMorock

    Joined:
    Mar 26, 2015
    Posts:
    9
    Okey. Here is the workaround:
    Restart Unity. If restarting will not solve the problem, try to cleanup project's Library folder before starting Unity.
    In fact, we have to restart Unity every time when add or update (build new version) some java lib o_O
    Debugging becomes painful for me.

    Can someone suggest something smarter, please?

    Enabling R8 and Release on Minify don't work for me, because it breaks AndroidJavaObject calls.
     
    redaEL likes this.
  6. redaEL

    redaEL

    Joined:
    Apr 3, 2017
    Posts:
    4
    worked for me, unity 2020.1.2f1
     
    QuangN likes this.
  7. AkaashGarg

    AkaashGarg

    Joined:
    Jun 22, 2020
    Posts:
    4
    For me I reinstalled unity 2020.3, this time I made sure to check Android SDK, NDK and Open JDK.
    upload_2021-9-17_21-46-49.png
     
  8. abdouljalilagsalah

    abdouljalilagsalah

    Joined:
    May 20, 2023
    Posts:
    2
    Bonjour! Je suis on dirait en retard mais j'ai rencontré le même problème sauf que chez moi j’ai réinstallé et réinstallé et redémarrer tout mais rien ne fonctionne et aujourd’hui j’ai même restauré mon PC et j’ai installé Unity 2020.3.48f1 en m’assurant que les SDK NDK et OpenJDK sont aussi installé avec et avec tout ça le même problème répète “Androïde Builde failed” J’ai besoins d’aide !