The question:
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:AndroidappNameappbuildintermediatestransformsdexBuilderdebug.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug4.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug6.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug7.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug8.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug9.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug10.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug12.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug13.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug14.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug17.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug18.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug19.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug20.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug21.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug22.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug23.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug24.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug25.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug26.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug27.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug28.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug29.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug30.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug31.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug32.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug34.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug39.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug40.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug44.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug45.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug46.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug47.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug48.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug49.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug51.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug52.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug53.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug55.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug56.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug57.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug58.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug59.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug83.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug84.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug85.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug86.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug87.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug88.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug89.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug90.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug91.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug92.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug93.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug94.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug95.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug96.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug97.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug100.jar, D:AndroidappNameappbuildintermediatestransformsdexBuilderdebug101.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
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
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'
Method 2
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'
Method 3
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
Method 4
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
Method 5
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.
Method 6
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"
}
Method 7
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'
Method 8
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…
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0