在编译我的项目时,我收到以下错误消息:

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)}

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

在Gradle日志(log)中使用以下堆栈跟踪

at com.android.builder.profile.Rec或der$Block.handleException(Rec或der.java:55)     
at com.android.builder.profile.ThreadRec或der.rec或d(ThreadRec或der.java:104)   
at com.android.build.gradle.internal.pipeline.Transf或mTask.transf或m(Transf或mTask.java:212)\\nat sun.reflect.NativeMethodAccess或Impl.invoke0(Native Method)
at sun.reflect.NativeMethodAccess或Impl.invoke(NativeMethodAccess或Impl.java:62)
at sun.reflect.DelegatingMethodAccess或Impl.invoke(DelegatingMethodAccess或Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 或g.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at 或g.gradle.api.internal.project.taskfact或y.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at 或g.gradle.api.internal.project.taskfact或y.StandardTaskAction.execute(StandardTaskAction.java:39)
at 或g.gradle.api.internal.project.taskfact或y.StandardTaskAction.execute(StandardTaskAction.java:26)
at 或g.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或$RunnableBuildOperationW或ker.execute(DefaultBuildOperationExecut或.java:336)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或$RunnableBuildOperationW或ker.execute(DefaultBuildOperationExecut或.java:328)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或.execute(DefaultBuildOperationExecut或.java:199)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或.run(DefaultBuildOperationExecut或.java:110)
at 或g.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at 或g.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
at 或g.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at 或g.gradle.api.internal.tasks.execution.OutputDirect或yCreatingTaskExecuter.execute(OutputDirect或yCreatingTaskExecuter.java:51)
at 或g.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at 或g.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at 或g.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at 或g.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at 或g.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at 或g.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at 或g.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at 或g.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at 或g.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at 或g.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at 或g.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskW或ker$1.run(DefaultTaskGraphExecuter.java:248)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或$RunnableBuildOperationW或ker.execute(DefaultBuildOperationExecut或.java:336)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或$RunnableBuildOperationW或ker.execute(DefaultBuildOperationExecut或.java:328)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或.execute(DefaultBuildOperationExecut或.java:199)
at 或g.gradle.internal.progress.DefaultBuildOperationExecut或.run(DefaultBuildOperationExecut或.java:110)
at 或g.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskW或ker.execute(DefaultTaskGraphExecuter.java:241)
at 或g.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskW或ker.execute(DefaultTaskGraphExecuter.java:230)
at 或g.gradle.execution.taskgraph.DefaultTaskPlanExecut或$TaskExecut或W或ker.processTask(DefaultTaskPlanExecut或.java:123)
at 或g.gradle.execution.taskgraph.DefaultTaskPlanExecut或$TaskExecut或W或ker.access$200(DefaultTaskPlanExecut或.java:79)
at 或g.gradle.execution.taskgraph.DefaultTaskPlanExecut或$TaskExecut或W或ker$1.execute(DefaultTaskPlanExecut或.java:104)
at 或g.gradle.execution.taskgraph.DefaultTaskPlanExecut或$TaskExecut或W或ker$1.execute(DefaultTaskPlanExecut或.java:98)
at 或g.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at 或g.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at 或g.gradle.execution.taskgraph.DefaultTaskPlanExecut或$TaskExecut或W或ker.run(DefaultTaskPlanExecut或.java:98)
at 或g.gradle.internal.concurrent.Execut或Policy$CatchAndRec或dFailures.onExecute(Execut或Policy.java:63)
at 或g.gradle.internal.concurrent.ManagedExecut或Impl$1.run(ManagedExecut或Impl.java:46)
at java.util.concurrent.ThreadPoolExecut或.runW或ker(ThreadPoolExecut或.java:1142)
at java.util.concurrent.ThreadPoolExecut或$W或ker.run(ThreadPoolExecut或.java:617)
at 或g.gradle.internal.concurrent.ThreadFact或yImpl$ManagedThreadRunnable.run(ThreadFact或yImpl.java:55)
at java.lang.Thread.run(Thread.java:745) Caused by: com.android.builder.dexing.DexArchiveMergerException: Err或 while merging dex archives: D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\0.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\4.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\6.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\7.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\8.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\9.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\10.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\12.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\13.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\14.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\17.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\18.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\19.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\20.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\21.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\22.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\23.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\24.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\25.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\26.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\27.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\28.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\29.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\30.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\31.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\32.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\34.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\39.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\40.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\44.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\45.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\46.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\47.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\48.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\49.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\51.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\52.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\53.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\55.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\56.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\57.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\58.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\59.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\83.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\84.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\85.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\86.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\87.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\88.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\89.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\90.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\91.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\92.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\93.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\94.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\95.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\96.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\97.jar, D:\Android\appName\app\build\intermediates\transf或ms\dexBuilder\debug\100.jar, D:\Android\appName\app\build\intermediates\transf或ms\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.transf或ms.DexMergerTransf或mCallable.call(DexMergerTransf或mCallable.java:101)
at com.android.build.gradle.internal.transf或ms.ExternalLibsMergerTransf或m.transf或m(ExternalLibsMergerTransf或m.kt:123)
at com.android.build.gradle.internal.pipeline.Transf或mTask$2.call(Transf或mTask.java:221)
at com.android.build.gradle.internal.pipeline.Transf或mTask$2.call(Transf或mTask.java:217)
at com.android.builder.profile.ThreadRec或der.rec或d(ThreadRec或der.java:102)   ... 48 m或e 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 m或e Caused by: com.android.tools.r8.utils.Ab或tException
at com.android.tools.r8.utils.Rep或ter.failIfPendingErr或s(Rep或ter.java:77)
at com.android.tools.r8.utils.Rep或ter.fatalErr或(Rep或ter.java:58)
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:67)     ... 56 m或e

推荐答案

FireBase对SDK进行了更新:

Firebase Android SDK现在有独立的版本号,允许更频繁、更灵活的更新.

更新所有Firebase依赖项以使用最新版本:

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

更多信息如下:

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

请同时更新google-services插件:

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

点击HERE可以找到最新的谷歌服务

另外,请选中此链接以了解更改,并按照本文中列出的步骤操作:

Announcing the new SDK Versioning

EDITED ON: 27 NOVEMBER 2019

截至今天,google-services插件的最新版本是4.3.3.所以,你的依赖性看起来像

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

Java相关问答推荐

收听RDX中用户数据的变化

如何让TaskView总是添加特定的列来进行排序?

Android -如何修复Java.time.zone. ZoneRulesExcept:未知时区ID:Europe/Kyiv

OpenJDK、4K显示和文本质量

如何在带有Micronaut的YAML中使用包含特殊字符的字符串作为键

Bean定义不是从Spring ApplationConext.xml文件加载的

Spring Data JPA慢慢地创建了太多非活动会话

生成桥方法以解决具有相同擦除的冲突方法

如何在Application.yaml中连接字符串?

有没有可能在时间范围内得到多种解决方案?

如何在JUNIT测试中覆盖ExecutorService?

将关闭拍卖的TimerService

JOLT根据值删除并保留其余的json键

Java.time.OffsetDateTime的SQL Server数据库列类型是什么?

JXBrowser是否支持加载Chrome扩展?

H2数据库仅支持%1个结果集?

为什么Instant没有从UTC转换为PostgreSQL的时区?

多线程、并发和睡眠未按预期工作

转换为JSON字符串时,日期按天递减-Java

带有提取器的JavaFXObservableList会根据侦听器的存在而改变行为