在此过程中未初始化 FirebaseApp - 此外 FirebaseApp.initializeApp() 不起作用。依赖问题?
FirebaseApp is not initialized in this process - Additionally FirebaseApp.initializeApp() doesn't work. Dependency Problem?
我在项目 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
我尝试设置一个全新的应用程序并且它有效,但实际上不适用于我的项目。
我认为是依赖问题,但是没有错误提示。
我尝试了很多不同的版本,none 似乎有效。
你有解决办法吗?
您必须将配置 JSON 添加到您的应用程序文件夹。
您可以在 firebase 站点上的项目页面上下载此文件。
打开 Firibase 站点 -> Select 你的项目 -> 设置 -> Select 你的应用 -> Clcik "google-services.json"
如果您在初始化 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'
问题出在子模块的 AndroidManifest.xml 中 tools:node="replace"
。
在我删除它并修复清单合并问题后,它工作正常!
Google 确实应该给我们一个小提示,如果您在项目的任何地方使用 tools:node="replace"
,Firebase 将不会启动。
我在项目 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
我尝试设置一个全新的应用程序并且它有效,但实际上不适用于我的项目。 我认为是依赖问题,但是没有错误提示。
我尝试了很多不同的版本,none 似乎有效。
你有解决办法吗?
您必须将配置 JSON 添加到您的应用程序文件夹。 您可以在 firebase 站点上的项目页面上下载此文件。
打开 Firibase 站点 -> Select 你的项目 -> 设置 -> Select 你的应用 -> Clcik "google-services.json"
如果您在初始化 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'
问题出在子模块的 AndroidManifest.xml 中 tools:node="replace"
。
在我删除它并修复清单合并问题后,它工作正常!
Google 确实应该给我们一个小提示,如果您在项目的任何地方使用 tools:node="replace"
,Firebase 将不会启动。