Android 演示失败:TransformDexArchiveWithExternalLibsDexMergePerformockDebug带有DexArchiveMergerException

Android 演示失败:TransformDexArchiveWithExternalLibsDexMergePerformockDebug带有DexArchiveMergerException,android,google-cloud-messaging,firebase-cloud-messaging,Android,Google Cloud Messaging,Firebase Cloud Messaging,重建后,我得到: Error:Execution failed for task ':demo:transformDexArchiveWithExternalLibsDexMergerForMockDebug'. > com.android.builder.dexing.DexArchiveMergerException: com.android.tools.r8.errors.CompilationError: Program type already present: com.goog

重建后,我得到:

Error:Execution failed for task ':demo:transformDexArchiveWithExternalLibsDexMergerForMockDebug'.
> com.android.builder.dexing.DexArchiveMergerException: com.android.tools.r8.errors.CompilationError: Program type already present: com.google.android.gms.common.internal.zzag
那个错误消息是什么意思?有什么问题?

针对此错误的建议是删除项目中的
/gradle
文件夹,或删除所有生成文件夹和gradle缓存

其他参考资料:

  • 删除
    .gradle
    目录

  • 再次运行你的应用程序

  • 注释

    • .gradle
      目录位于项目的根文件夹中。(您可能必须先显示隐藏的文件。)
    • 每次使用Android 3.0更新依赖模块时,我都必须这样做

    希望这有帮助

    当我将gradle
    实现
    指令替换为(较旧的)
    编译
    指令时,它可以工作。

    此错误(以及任何其他已存在的
    程序类型:com.google.android.gms.common.internal.xxxxxx
    错误)可能是由不同的Play服务和Firebase版本引起的。在本例中,确保所有
    实现'com.google.android.gms:xxxx:12.0.0
    和所有
    实现'com.google.firebase:xxxxxx:12.0.0'
    具有相同的版本(12.0.0)