I am trying to update my app for android but am having tons of issues…
I have created a clean project and with no plugins/sdk’s it builds OK. When adding any plugin, in this case Admob SDK I get this error:
CommandInvokationFailure: Gradle build failed.
/Applications/Unity/Hub/Editor/2020.3.2f1/PlaybackEngines/AndroidPlayer/OpenJDK/bin/java -classpath “/Applications/Unity/Hub/Editor/2020.3.2f1/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.6.4.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m” “assembleRelease”
stderr[
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Note: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/unityLibrary/src/main/java/com/unity3d/player/UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar: D8: Type bitter.jnibridge.JNIBridge$a is defined multiple times: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar:classes.dex, /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/7_jetified-unity-classes.jar:classes.dex
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at Add build dependencies | Android Studio | Android Developers
Type bitter.jnibridge.JNIBridge$a is defined multiple times: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar:classes.dex, /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/7_jetified-unity-classes.jar:classes.dex
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: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar:classes.dex, Type bitter.jnibridge.JNIBridge$a is defined multiple times: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar:classes.dex, /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/7_jetified-unity-classes.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
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ‘:launcher:mergeDexRelease’.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at Add build dependencies | Android Studio | Android Developers
Type bitter.jnibridge.JNIBridge$a is defined multiple times: /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/0_jetified-unity-classes.jar:classes.dex, /Volumes/MP SSD 1/MansaPlay/App Development/Numfeud/CleanAndroidProject/Temp/gradleOut/launcher/build/intermediates/external_file_lib_dex_archives/release/out/7_jetified-unity-classes.jar:classes.dex
* Try:
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.
* Get more help at https://help.gradle.org
BUILD FAILED in 5s
]
stdout[
> Configure project :launcher
WARNING: The option ‘android.enableR8’ is deprecated and should not be used anymore.
It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8.
> Task :launcher:preBuild UP-TO-DATE
> Task :launcher:preReleaseBuild UP-TO-DATE
> Task :unityLibrary:preBuild UP-TO-DATE
> Task :unityLibrary:preReleaseBuild UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preBuild UP-TO-DATE
> Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:preReleaseBuild UP-TO-DATE
> Task :launcher:generateReleaseBuildConfig UP-TO-DATE
> Task :launcher:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseAidl NO-SOURCE
> Task :unityLibrary:compileReleaseAidl NO-SOURCE
> Task :launcher:compileReleaseAidl NO-SOURCE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseRenderscript NO-SOURCE
> Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
> Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:generateReleaseResValues UP-TO-DATE
> Task :unityLibrary:generateReleaseResources UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseRenderscript NO-SOURCE
> Task :unityLibrary:packageReleaseResources UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseResValues
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseResources
> Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseResources
> Task :unityLibrary:processReleaseManifest
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:parseReleaseLocalResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseBuildConfig
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processReleaseManifest
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:javaPreCompileRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseRFile
> Task :unityLibrary:generateReleaseRFile
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseJavaWithJavac
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibCompileRelease
> Task :launcher:mainApkListPersistenceRelease UP-TO-DATE
> Task :launcher:generateReleaseResValues UP-TO-DATE
> Task :launcher:generateReleaseResources UP-TO-DATE
> Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:extractDeepLinksRelease
> Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseLibraryResources
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:prepareLintJarForPublish
> Task :unityLibrary:javaPreCompileRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibRuntimeRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeReleaseShaders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:compileReleaseShaders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:generateReleaseAssets
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:packageReleaseAssets
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:bundleLibResRelease
> Task :unityLibrary:compileReleaseJavaWithJavac
> Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
> Task :unityLibrary:bundleLibRuntimeRelease UP-TO-DATE
> Task :unityLibrary:mergeReleaseShaders UP-TO-DATE
> Task :unityLibrary:compileReleaseShaders UP-TO-DATE
> Task :unityLibrary:generateReleaseAssets UP-TO-DATE
> Task :unityLibrary:packageReleaseAssets
> Task :unityLibrary:processReleaseJavaRes NO-SOURCE
> Task :unityLibrary:bundleLibResRelease UP-TO-DATE
> Task :unityLibrary:bundleLibCompileRelease
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeReleaseJniLibFolders
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:mergeReleaseNativeLibs
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:stripReleaseDebugSymbols
> Task :unityLibrary:GoogleMobileAdsPlugin.androidlib:copyReleaseJniLibsProjectOnly
> Task :unityLibrary:mergeReleaseJniLibFolders
> Task :unityLibrary:mergeReleaseNativeLibs
> Task :unityLibrary:stripReleaseDebugSymbols
> Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :launcher:extractDeepLinksRelease UP-TO-DATE
> Task :unityLibrary:copyReleaseJniLibsProjectOnly
> Task :launcher:processReleaseManifest
> Task :launcher:prepareLintJar UP-TO-DATE
> Task :launcher:javaPreCompileRelease
> Task :launcher:mergeReleaseResources
> Task :launcher:processReleaseResources
> Task :launcher:compileReleaseJavaWithJavac
> Task :launcher:compileReleaseSources
> Task :launcher:lintVitalRelease
> Task :launcher:checkReleaseDuplicateClasses
> Task :launcher:dexBuilderRelease
> Task :launcher:mergeReleaseShaders UP-TO-DATE
> Task :launcher:compileReleaseShaders UP-TO-DATE
> Task :launcher:generateReleaseAssets UP-TO-DATE
> Task :launcher:mergeReleaseAssets
> Task :launcher:processReleaseJavaRes NO-SOURCE
> Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE
> Task :launcher:desugarReleaseFileDependencies
> Task :launcher:validateSigningRelease UP-TO-DATE
> Task :launcher:mergeReleaseNativeLibs
> Task :launcher:stripReleaseDebugSymbols
> Task :launcher:mergeReleaseJavaResource
> Task :launcher:multiDexListRelease
> Task :launcher:mergeDexRelease FAILED
67 actionable tasks: 46 executed, 21 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)*__ __*UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action
1[T] progress) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
Rethrow as BuildFailedException: Exception of type ‘UnityEditor.Build.BuildFailedException’ was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <2c6e9a95f1dd4e06ad71afcd2684dcb7>:0)
I have created a Custom Launcher Gradle Template like this:
apply plugin: ‘com.android.application’
dependencies {
implementation project(‘:unityLibrary’)
implementation ‘androidx.multidex:multidex:2.0.1’
}
android {
compileSdkVersion APIVERSION
buildToolsVersion ‘BUILDTOOLS’
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion MINSDKVERSION
targetSdkVersion TARGETSDKVERSION
applicationId ‘APPLICATIONID’
multiDexEnabled true
ndk {
abiFilters ABIFILTERS
}
versionCode VERSIONCODE
versionName ‘VERSIONNAME’
}
aaptOptions {
noCompress = [‘.ress’, ‘.resource’, ‘.obb’] + unityStreamingAssets.tokenize(', ')
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!.scc:.:!CVS:!thumbs.db:!picasa.ini:!~"
}SIGN
lintOptions {
abortOnError false
__}__
buildTypes {
debug {
minifyEnabled MINIFY_DEBUG
proguardFiles getDefaultProguardFile(‘proguard-android.txt’)SIGNCONFIG
jniDebuggable true
__}__
release {
minifyEnabled MINIFY_RELEASE
proguardFiles getDefaultProguardFile(‘proguard-android.txt’)SIGNCONFIG
__}__
}**PACKAGING_OPTIONSSPLITS**
BUILT_APK_LOCATION
bundle {
language {
enableSplit = false
__}__
density {
enableSplit = false
__}__
abi {
enableSplit = true
__}__
__}__
}**SPLITS_VERSION_CODE***LAUNCHER_SOURCE_BUILD_SETUP**
… and a Custom Gradle Properties Template like this:
org.gradle.jvmargs=-XmxJVM_HEAP_SIZEM
org.gradle.parallel=true
android.enableR8=MINIFY_WITH_R_EIGHT
unityStreamingAssets=.unity3dSTREAMING_ASSETS
# Android Resolver Properties Start
android.useAndroidX=true
android.enableJetifier=true
# Android Resolver Properties End
ADDITIONAL_PROPERTIES
I am using Unity 2020.3.2f1 on a iMac with Big Sur installed.
Hope someone can guide me or even better tell me what I am doing wrong or missing… I am going crazy :-/
Thanks in advance, Jesper