我在项目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,它可以工作,但实际上不适用于我的项目。 我认为存在依赖性问题,但没有错误或提示。
我尝试了许多不同的版本,但似乎都没有。
您对此有解决方案吗?
答案 0 :(得分:0)
您必须将配置JSON添加到您的应用文件夹。 您可以在Firebase网站上的项目页面上下载此文件。
打开Firibase网站->选择项目->设置->选择应用-> Clcik“ google-services.json”
答案 1 :(得分:0)
如果在初始化Firebase实例时遇到错误,则可以在尝试获取实例之前使用以下方法。
FirebaseApp.initializeApp(this);
假设您已添加:-
您需要在项目级别的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都不会启动。