Compilation failed to complete:Program type already present: com.google.android.gms.internal.measurement.zzabn

JavaAndroidFirebaseAndroid StudioFirebase Realtime-Database

Java Problem Overview


When compiling my project I get the following error message:

Program type already present: com.google.android.gms.internal.measurement.zzabn Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzabn, sources=[Unknown source file], tool name=Optional.of(D8)}

or

D8: Program type already present: com.google.android.gms.internal.measurement.zzabo

With the following stacktrace in the Gradle Log

at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55) 	
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104) 	
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)\\nat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
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)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745) Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\0.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\4.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\6.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\7.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\8.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\9.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\10.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\12.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\13.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\14.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\17.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\18.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\19.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\20.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\21.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\22.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\23.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\24.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\25.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\26.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\27.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\28.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\29.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\30.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\31.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\32.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\34.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\39.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\40.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\44.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\45.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\46.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\47.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\48.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\49.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\51.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\52.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\53.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\55.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\56.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\57.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\58.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\59.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\83.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\84.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\85.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\86.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\87.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\88.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\89.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\90.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\91.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\92.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\93.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\94.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\95.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\96.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\97.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\100.jar, D:\Android\appName\app\build\intermediates\transforms\dexBuilder\debug\101.jar
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:124)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:109)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:101)
at com.android.build.gradle.internal.transforms.ExternalLibsMergerTransform.transform(ExternalLibsMergerTransform.kt:123)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102) 	... 48 more Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:76)
at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:45)
at com.android.tools.r8.D8.run(D8.java:67)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:107) 	... 53 more Caused by: com.android.tools.r8.utils.AbortException
at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:77)
at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:58)
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:67) 	... 56 more

Java Solutions


Solution 1 - Java

Firebase did an update to the SDK:

>Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates.

Update all your Firebase dependencies to use the latest version:

Firebase Core	        com.google.firebase:firebase-core:15.0.2
Ads	                    com.google.firebase:firebase-ads:15.0.0
Analytics	            com.google.firebase:firebase-analytics:15.0.2
App Indexing	        com.google.firebase:firebase-appindexing:15.0.0
Authentication	        com.google.firebase:firebase-auth:15.1.0
Cloud Firestore	        com.google.firebase:firebase-firestore:16.0.0
Cloud Functions	        com.google.firebase:firebase-functions:15.0.0
Cloud Messaging	        com.google.firebase:firebase-messaging:15.0.2
Cloud Storage	        com.google.firebase:firebase-storage:15.0.2
Crash Reporting	        com.google.firebase:firebase-crash:15.0.2
Crashlytics	            com.crashlytics.sdk.android:crashlytics:2.9.1
Invites	                com.google.firebase:firebase-invites:15.0.1
Performance Monitoring	com.google.firebase:firebase-perf:15.1.0
Realtime Database	    com.google.firebase:firebase-database:15.0.0
Remote Config	        com.google.firebase:firebase-config:15.0.2

More information is here:

https://firebase.google.com/support/release-notes/android

Please also update google-services plugin:

classpath 'com.google.gms:google-services:3.3.1'

You can find the latest google-services clicking HERE

Also check this link to understand the changes and follow the steps listed in the article:

Announcing the new SDK Versioning

EDITED ON: 27 NOVEMBER 2019

As of today, the latest version for google-services Plugin is 4.3.3. So, your dependency would look like

classpath 'com.google.gms:google-services:4.3.3'

Solution 2 - Java

In my case problem is same.I followed below steps:

1.build.gradle(gradle)

change :

  classpath 'com.google.gms:google-services:3.2.0'

To :

  classpath 'com.google.gms:google-services:3.2.1'

2.build.gradle(module)

    implementation 'com.google.firebase:firebase-core:15.0.2'
    implementation 'com.google.firebase:firebase-messaging:15.0.2'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'

for google location and places :

  implementation 'com.google.android.gms:play-services-location:15.0.1'
  implementation 'com.google.android.gms:play-services-places:15.0.1'

Solution 3 - Java

The problem is caused because Firebase started versioning the libraries separately. Updating everything to latest version solves the issue.

Update the google play gradle plugin version to latest version, currently 4.0.1.

In project level build.gradle file:

classpath 'com.google.gms:google-services:4.0.1'

Information about latest version of google gradle plugin is available at:

https://bintray.com/android/android-tools/com.google.gms.google-services/

And use the latest versions of individual libraries in app level build.gradle file:

implementation 'com.google.android.gms:play-services-vision:15.0.2'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.google.firebase:firebase-messaging:15.0.2'

Information about latest versions of individual libraries available at:

https://firebase.google.com/support/release-notes/android and https://developers.google.com/android/guides/setup

Solution 4 - Java

For those who are facing this issue with the latest Firebase versions as today Nov 8th, 2018. I fixed the conflict by downgrading the firebase-ads library while keeping the rest using the latest versions.

I changed from:

googleImplementation "com.google.firebase:firebase-core:16.0.5"
googleImplementation "com.google.firebase:firebase-ads:17.0.0"  //CONFLICTING VERSION
googleImplementation "com.google.firebase:firebase-config:16.1.0"
googleImplementation "com.google.firebase:firebase-messaging:17.3.4"

To:

googleImplementation "com.google.firebase:firebase-core:16.0.5"
googleImplementation "com.google.firebase:firebase-ads:15.0.1"  //WORKING VERSION
googleImplementation "com.google.firebase:firebase-config:16.1.0"
googleImplementation "com.google.firebase:firebase-messaging:17.3.4"

Also, note that on the Project's root build.gradle I'm using the following google services version com.google.gms:google-services:4.2.0.

I tried a few approaches, analyzing the dependencies tree, excluding the modules with the mentioned program, but they ended up crashing on runtime. The safest solution I found was using the 15.0.1 for the firebase-ads

Solution 5 - Java

>Latest Firebase SDK versions

Service 	                Gradle dependency

Firebase Core 	            com.google.firebase:firebase-core:16.0.1
Ads 	                    com.google.firebase:firebase-ads:15.0.1
Analytics 	                com.google.firebase:firebase-analytics:16.0.0
App Indexing 	            com.google.firebase:firebase-appindexing:16.0.1
Authentication 	            com.google.firebase:firebase-auth:16.0.2
Cloud Firestore 	        com.google.firebase:firebase-firestore:17.0.2
Cloud Functions 	        com.google.firebase:firebase-functions:16.0.1
Cloud Messaging 	        com.google.firebase:firebase-messaging:17.0.0
Cloud Storage 	            com.google.firebase:firebase-storage:16.0.1
Crash Reporting 	        com.google.firebase:firebase-crash:16.0.0
Crashlytics 	            com.crashlytics.sdk.android:crashlytics:2.9.3
Invites 	                com.google.firebase:firebase-invites:16.0.1
ML Kit: Model Interpreter 	com.google.firebase:firebase-ml-model-interpreter:16.0.0
ML Kit: Vision 	            com.google.firebase:firebase-ml-vision:16.0.0
ML Kit: Image Labeling 	    com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring 	    com.google.firebase:firebase-perf:16.0.0
Realtime Database 	        com.google.firebase:firebase-database:16.0.1
Remote Config 	            com.google.firebase:firebase-config:16.0.0

##Update - June 21, 2018

>Cloud Firestore version 17.0.2

gRPC requirement updated from 1.8.0 to 1.12.0. This allows quicker failover between Wi-Fi and cellular networks.

>Invites version 16.0.1

Fixed incompatibility with firebase-core 16.0.1.

Solution 6 - Java

The above error has appeared today after rebuilding application, as if the new update to classpath: 'com.google.gms:google-services:3.1.0' to

classpath: 'com.google.gms:google-services:3.2.0'

has helped solving my problem.

In addition, other answers mentioned in this post may also help, it depends on the version of google com.google.firebase packages used, i tried to update firebase packages to their latest version. Also you may refer to the following question and get help from the answers mentioned.

Also i have added the following to the project gradle file in the repositories section

maven{
url  "https://dl.bintray.com/android/android-tools"
}

Solution 7 - Java

Please upgrade classpath of build gradle and google services as follows

    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath 'com.google.gms:google-services:3.3.0'

Solution 8 - Java

###1. Update google.gms version to latest version At the time of answer latest is 4.1.0.

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin
    }
}

allprojects {
    // ...
    repositories {
        // ...
        google() // Google's Maven repository
    }
}

###2. Update firebase dependencies to latest version Update below dependency if you use any. Note that firebase has individual versions for every dependency now.

Use latest Firebase Libraries. At the time of answer latest versions are below.

Firebase Core	             com.google.firebase:firebase-core:16.0.3
Ads	                         com.google.firebase:firebase-ads:15.0.1
Analytics	                 com.google.firebase:firebase-analytics:16.0.3
App Indexing	             com.google.firebase:firebase-appindexing:16.0.1
Authentication	             com.google.firebase:firebase-auth:16.0.3
Cloud Firestore	             com.google.firebase:firebase-firestore:17.1.0
Cloud Functions	             com.google.firebase:firebase-functions:16.1.0
Cloud Messaging	             com.google.firebase:firebase-messaging:17.3.2
Cloud Storage	c            om.google.firebase:firebase-storage:16.0.2
Crash Reporting	             com.google.firebase:firebase-crash:16.2.0
Crashlytics	                 com.crashlytics.sdk.android:crashlytics:2.9.5
Dynamic Links	             com.google.firebase:firebase-dynamic-links:16.1.1
Invites	                     com.google.firebase:firebase-invites:16.0.3
In-App Messaging	         com.google.firebase:firebase-inappmessaging:17.0.1
In-App Messaging Display	 com.google.firebase:firebase-inappmessaging-display:17.0.1
ML Kit: Model Interpreter	 com.google.firebase:firebase-ml-model-interpreter:16.2.0
ML Kit: Vision	             com.google.firebase:firebase-ml-vision:17.0.0
ML Kit: Image Labeling	     com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring	     com.google.firebase:firebase-perf:16.1.0
Realtime Database	         com.google.firebase:firebase-database:16.0.2
Remote Config	             com.google.firebase:firebase-config:16.0.0

###3. Don't forget google plugin Also don't forget to add apply plugin: 'com.google.gms.google-services' at bottom of app level build.gradle.

Sync and Build...

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJack WilsonView Question on Stackoverflow
Solution 1 - JavaPeter HaddadView Answer on Stackoverflow
Solution 2 - JavaRohan LodhiView Answer on Stackoverflow
Solution 3 - JavaNabin BhandariView Answer on Stackoverflow
Solution 4 - JavaBennyView Answer on Stackoverflow
Solution 5 - JavaAskNileshView Answer on Stackoverflow
Solution 6 - JavaCedarView Answer on Stackoverflow
Solution 7 - JavaVinil ChandranView Answer on Stackoverflow
Solution 8 - JavaKhemraj SharmaView Answer on Stackoverflow