更新 firebase 库时出现 IllegalArgumentException
IllegalArgumentException when update firebase library
我的 Android 应用程序在我更新 firebase 库之前工作正常。更新到最新的 firebase 库后,我得到了以下异常:
E/AndroidRuntime: FATAL EXCEPTION: Thread-4
Process: com.sound.booster.extra.volume, PID: 24298
java.lang.IllegalArgumentException: Please set your project ID. A valid Firebase project ID is required to communicate with Firebase server APIs: It identifies your project with Google.
at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source:8)
at com.google.firebase.iid.FirebaseInstanceId.zza(com.google.firebase:firebase-iid@@20.1.7:52)
at com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.1.7:2)
at com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.1.7:1)
更新库前的源码:
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-config:19.1.0'
implementation 'com.google.firebase:firebase-core:17.2.2'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
更新库后的源码:
implementation 'com.google.firebase:firebase-messaging:20.1.7'
implementation 'com.google.firebase:firebase-config:19.1.4'
implementation 'com.google.firebase:firebase-core:17.4.1'
implementation 'com.google.firebase:firebase-analytics:17.4.1'
谁能解释为什么以及如何解决这个问题?
较新版本的 Firebase SDK 依赖于名为 Firebase Installations Service 的服务,该服务对应用程序中包含的 Firebase 项目的配置数据增加了一些额外要求。在您的情况下,您似乎在此配置中缺少项目 ID。
如果您通过在应用中包含 google-services.json
为您的应用配置 Firebase 项目,解决方案通常是从 Firebase 控制台获取该文件的最新版本并在您的应用中更新。
如果您在代码中为您的应用显式配置 Firebase 项目,则需要确保在其中调用 setProjectId
method。
另见:
- FirebaseInstallationsException on latest version
- 引入此新依赖的SDK版本release notes
我的 Android 应用程序在我更新 firebase 库之前工作正常。更新到最新的 firebase 库后,我得到了以下异常:
E/AndroidRuntime: FATAL EXCEPTION: Thread-4
Process: com.sound.booster.extra.volume, PID: 24298
java.lang.IllegalArgumentException: Please set your project ID. A valid Firebase project ID is required to communicate with Firebase server APIs: It identifies your project with Google.
at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source:8)
at com.google.firebase.iid.FirebaseInstanceId.zza(com.google.firebase:firebase-iid@@20.1.7:52)
at com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.1.7:2)
at com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.1.7:1)
更新库前的源码:
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-config:19.1.0'
implementation 'com.google.firebase:firebase-core:17.2.2'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
更新库后的源码:
implementation 'com.google.firebase:firebase-messaging:20.1.7'
implementation 'com.google.firebase:firebase-config:19.1.4'
implementation 'com.google.firebase:firebase-core:17.4.1'
implementation 'com.google.firebase:firebase-analytics:17.4.1'
谁能解释为什么以及如何解决这个问题?
较新版本的 Firebase SDK 依赖于名为 Firebase Installations Service 的服务,该服务对应用程序中包含的 Firebase 项目的配置数据增加了一些额外要求。在您的情况下,您似乎在此配置中缺少项目 ID。
如果您通过在应用中包含 google-services.json
为您的应用配置 Firebase 项目,解决方案通常是从 Firebase 控制台获取该文件的最新版本并在您的应用中更新。
如果您在代码中为您的应用显式配置 Firebase 项目,则需要确保在其中调用 setProjectId
method。
另见:
- FirebaseInstallationsException on latest version
- 引入此新依赖的SDK版本release notes