我正在使用Firebase崩溃报告和Firebase远程配置。两者的版本是9.8.0。
在大多数设备上,设置工作完美(我跟着Set up crash reporting)。但是在小百分比的设备上(它实际上崩溃的次数最多)它在我尝试在Application onCreate方法中初始化Remote Config时崩溃。
java.lang.RuntimeException: Unable to create application com.company.application.AppApplication: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.company.application. Make sure to call FirebaseApp.initializeApp(Context) first.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6429)
at android.app.ActivityThread.access$1800(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7329)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.company.application. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.a.d(Unknown Source)
at com.google.firebase.b.a.a(Unknown Source)
at com.company.application.d.a.a(SourceFile:21)
at com.company.application.AppApplication.onCreate(SourceFile:76)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1037)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6426)
... 8 more
答案 0 :(得分:4)
在10.0.0版之前,Firebase Crash在您的应用中为background_crash
创建了一个额外的流程。系统会为您应用中的每个流程创建并执行AppApplication
课程的实例,包括background_crash
。
如果要在应用程序类中执行Firebase服务的初始化,则需要添加一个防护,以防止在background_crash中执行初始化。在这样做的方法是:
if (!FirebaseApp.getApps(this).isEmpty()) {
// Not in crash process. Do your Remote Config init here.
}
另一种解决方案是升级到最新版本的Firebase 10.0.1。
假设这个答案有效,我无法解释为什么故障只发生在某些设备上,除非设备上安装的Google Play服务版本是一个因素,而故障设备的版本较旧。
答案 1 :(得分:0)
'com.google.gms:google-services:4.0.1'
。实现androidTestImplementation依赖项:
androidTestImplementation('com.android.support.test.espresso:espresso-core:.2.2',
{ 排除组:“ com.android.support”,模块:“ support-annotations” })