在模块中找到重复的类 com.google.android.gms.internal.firebase_messaging.zza

问题描述 投票:0回答:8

刚刚在 Android 构建上开始出现此错误。请帮忙。 “在模块 jetified-firebase-iid-19.0.0-runtime.jar (com.google.firebase:firebase-iid:19.0.0) 和 jetified- 中发现重复的类 com.google.android.gms.internal.firebase_messaging.zza firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)"

android firebase
8个回答
16
投票

在build.gradle中:

implementation "com.google.firebase:firebase-iid:21.1.0"

6
投票

以上答案都不正确。它们都不能解决问题。 问题在于传递依赖。 您需要检查哪些库导致了问题并执行以下操作:

implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation ('com.google.firebase:firebase-iid:21.1.0') {
    transitive = true
}

5
投票

我通过使用 Firebase Android BoM

解决了这个问题

就我而言,问题取决于消息传递功能的共存。

因此:

implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation 'com.google.firebase:firebase-functions-ktx:20.0.0'

对此:

implementation platform('com.google.firebase:firebase-bom:28.2.1')
implementation 'com.google.firebase:firebase-functions-ktx'
implementation 'com.google.firebase:firebase-messaging'

4
投票

BOM 31.x 目前确实存在此问题。

请参阅此处的问题:
https://github.com/firebase/firebase-android-sdk/issues/4206

已通过此处问题解决,但尚未正式发布:
https://github.com/firebase/firebase-android-sdk/pull/4225

评论:
尚未解决,31.0.1 仅包含对 crashlytics 崩溃错误的修复。这就是为什么这个问题仍然悬而未决。这里的团队将修复该问题,然后发布可能的版本,并在修复后发布说明,表明该问题已修复 https://firebase.google.com/support/release-notes/android - 此处

当前的解决方法是显式添加 iid 版本,直到发布新的 BOM 版本:

implementation platform('com.google.firebase:firebase-bom:31.0.0') implementation 'com.google.firebase:firebase-functions' implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.firebase:firebase-iid:21.1.0'
    

2
投票
我遇到了同样的问题。

我通过重新定义我的依赖项实现来修复它,如下所示:


在build.gradle中:

implementation 'com.google.firebase:firebase-analytics:19.0.0' implementation 'com.google.firebase:firebase-auth:17.0.0' implementation 'com.google.firebase:firebase-messaging:22.0.0'


请注意我在buildscript中的配置:com.android.tools.build:gradle:4.2.1

然后,清理并重建项目。

您可以分享有关您的设置的更多信息吗?


2
投票
使用react-native-push-notification ^3.1.9,我遇到了同样的错误。

修复它:

在项目/build.gradle中:

buildscript { ext { googlePlayServicesVersion = "17.0.0" firebaseMessagingVersion = "20.1.0" firebaseVersion = "20.1.0" // other settings } // other settings }
在项目/app/build.gradle中:

dependencies { implementation "com.google.firebase:firebase-messaging:20.1.0" // other implementations }
原因:

react-native-push-notification

包指定对
firebase-messaging:+
的依赖:要求获取最新版本。
因此,gradle 上传最新的 
com.google.firebase:firebase-messaging:22.x.x
,它声明了 firebase-iid 中已经存在的类。


1
投票
如果您不想使用

firebase-bom

,因为您不信任 firebase 会检查所有正确的版本,那么您可以删除重复项。

    运行
  1. ./gradlew app:dependencies
    (或用您的模块替换 
    app
  2. 搜索
  3. iid:19.0.0
    (或任何给您带来问题的版本)
  4. 在列表中向上滚动以查看该库的来源。
您应该看到类似

\--- com.google.firebase:firebase-iid:19.0.0

 的内容

    继续滚动,直到找到它所源自的依赖项和模块,并标有
  1. +
    ,例如 (
    +--- com.google.firebase:firebase-ml-vision
    )
  2. 找到项目中的依赖项并删除重复的
  3. iid
    
    
api("com.google.firebase:firebase-ml-vision:$version") { exclude group: 'com.google.firebase', module: 'firebase-iid' }
    

0
投票
implementation("com.google.firebase:firebase-iid:21.1.0")
将以上行添加到您的 

android/app/build.gradle


    

© www.soinside.com 2019 - 2024. All rights reserved.