FirebaseApp在此过程中未初始化-此外,FirebaseApp.initializeApp()不起作用。依赖性问题?

时间:2018-10-19 07:37:18

标签: android firebase google-play-services

我在项目gradle文件中添加了以下行:

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

这进入模块gradle文件:

dependencies {

    ...    

    // GPS
    implementation 'com.google.android.gms:play-services-location:16.0.0'

    // FireBase
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-iid:17.0.4'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'

    implementation 'com.google.android.gms:play-services-gcm:16.0.0'
}

apply plugin: 'com.google.gms.google-services'

并将其添加到AndroidManifest.xml

<service
        android:name=".pushclient.PushService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
</service>

我从FireBase控制台下载了google-services.json,并将其放置在正确的位置

但是尝试使用Firebase时出现以下错误:

Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process

当我手动对其进行初始化并尝试获取ID时,会出现此错误:

Caused by: java.lang.IllegalStateException: FirebaseInstanceId.getInstance() must not be null

我试图建立一个全新的App,它可以工作,但实际上不适用于我的项目。 我认为存在依赖性问题,但没有错误或提示。

我尝试了许多不同的版本,但似乎都没有。

您对此有解决方案吗?

3 个答案:

答案 0 :(得分:0)

您必须将配置JSON添加到您的应用文件夹。 您可以在Firebase网站上的项目页面上下载此文件。

打开Firibase网站->选择项目->设置->选择应用-> Clcik“ google-services.json”

答案 1 :(得分:0)

如果在初始化Firebase实例时遇到错误,则可以在尝试获取实例之前使用以下方法。

FirebaseApp.initializeApp(this);

假设您已添加:-

  • google-services.json
  • AndroidManifest.xml中的完成配置

您需要在项目级别的gradle文件中添加google-services依赖项。

buildscript {
   repositories {---}
   dependencies {
       ---
       ---
       classpath 'com.google.gms:google-services:4.0.0'
   }
}

您还需要删除gcm依赖性。

实现'com.google.android.gms:play-services-gcm:16.0.0'

答案 2 :(得分:0)

问题是子模块的AndroidManifest.xml中的tools:node="replace"。 在我删除并修复了Manifest-Merger问题后,它运行良好!

Google确实应该给我们一个小提示,即如果您在项目中的任何地方使用tools:node="replace",Firebase都不会启动。