简体   繁体   English

firebase 消息传递组件在 android 工作室中不存在

[英]firebase messaging component is not present in android studio

Getting error firebase messaging component is not present in android studio.出现错误firebase 消息传递组件在 android 工作室中不存在 I am using updated firebase messaging version我正在使用更新的 firebase 消息传递版本

implementation 'com.google.firebase:firebase-messaging:21.0.1'实施 'com.google.firebase:firebase-messaging:21.0.1'

So, I was facing this issue and even ended up setting a bounty for it.所以,我正面临这个问题,甚至最终为它设置了赏金。

My problem was that I had just shifted to Multi-Modular structure from a single app module and started facing this issue.我的问题是我刚刚从单个应用程序模块转移到多模块结构并开始面临这个问题。

I tried a few solutions:-我尝试了一些解决方案:-

  1. Registering the Firebase components explicitly显式注册 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>
  1. Downgrading the google-service plugin降级 google-service 插件

  2. Switching between Firebase BOM and explicitly stating the version.在 Firebase BOM 和明确说明版本之间切换。

However, I finally resolved it by keeping all the Firebase dependencies in the App module and then inheriting it in the dynamic modules, by using "api.....", at the same time I also registered my dynamic modules in Firebase.但是,我最终解决了这个问题,将所有 Firebase 依赖项保留在 App 模块中,然后在动态模块中继承它,使用“api.....”,同时我还在 Firebase 中注册了我的动态模块。

You need to extend ComponentDiscoveryService.您需要扩展 ComponentDiscoveryService。

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

I am also facing same issue with firebase messaging:我也面临与 firebase 消息相同的问题:

Caused by: java.lang.NullPointerException: Firebase Messaging component is not present at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.0.0:2) at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:158) at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:137) Caused by: java.lang.NullPointerException: Firebase Messaging component is not present at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.0.0 :2) at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:158) at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:137)

project level gradle: classpath 'com.google.gms:google-services:4.3.13'项目级别 gradle:类路径 'com.google.gms:google-services:4.3.13'

app level gradle: implementation platform('com.google.firebase:firebase-bom:30.2.0') implementation 'com.google.firebase:firebase-messaging' // Declare the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' app level gradle: implementation platform('com.google.firebase:firebase-bom:30.2.0') implementation 'com.google.firebase:firebase-messaging' // Declare the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging'

Just resolved for Firebase Messaging with刚刚解决了 Firebase 消息传递

<service 
android:name="com.google.firebase.components.ComponentDiscoveryService" 
android:directBootAware="true" android:exported="false" >

<meta-data android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar" 
android:value="com.google.firebase.components.ComponentRegistrar" />

<meta-data android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar" 
 android:value="com.google.firebase.components.ComponentRegistrar" />
</service>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM