android studio 中不存在 firebase 消息传递组件

San*_*ndy 5 android push-notification firebase android-studio firebase-cloud-messaging

android studio 中不存在获取错误firebase 消息传递组件。我正在使用更新的 firebase 消息传递版本

实施“com.google.firebase:firebase-messaging:21.0.1”

小智 1

所以,我面临着这个问题,甚至最终为此设置了赏金。

我的问题是,我刚刚从单个应用程序模块转向多模块结构,并开始面临这个问题。

我尝试了一些解决方案:-

  1. 显式注册 Firebase 组件
<service android:name="com.google.firebase.components.ComponentDiscoveryService" >
    <meta-data
        android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar"
        android:value="com.google.firebase.components.ComponentRegistrar" />
    <meta-data
        android:name="com.google.firebase.components:com.google.firebase.firestore.FirestoreRegistrar"
        android:value="com.google.firebase.components.ComponentRegistrar"/>
    <meta-data
        android:name="com.google.firebase.components:com.google.firebase.iid.Registrar"
        android:value="com.google.firebase.components.ComponentRegistrar" />
    <meta-data
        android:name="com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar"
        android:value="com.google.firebase.components.ComponentRegistrar" />
    <meta-data
        android:name="com.google.firebase.components:com.google.firebase.database.DatabaseRegistrar"
        android:value="com.google.firebase.components.ComponentRegistrar"/>
</service>
Run Code Online (Sandbox Code Playgroud)
  1. 降级谷歌服务插件

  2. 在 Firebase BOM 之间切换并明确说明版本。

不过,我最终通过将所有 Firebase 依赖项保留在 App 模块中,然后在动态模块中继承它,使用“api .....”解决了这个问题,同时我也在 Firebase 中注册了我的动态模块。