【问题标题】:Application crashes trying instantiate Firebase Crashlytics [duplicate]尝试实例化 Firebase Crashlytics 的应用程序崩溃 [重复]
【发布时间】:2020-12-14 13:24:20
【问题描述】:

当应用尝试初始化 Firebase Crashlytics 但未能执行此操作并通过抛出 RuntimeExcepcption 崩溃时,Google Play 控制台报告的崩溃数量很少(过去几个月约为 2.5K)。

可能是什么问题?或者只是等待另一个库的发布? :) 谢谢。

部门:

 "com.google.firebase:firebase-crashlytics-gradle:2.4.1"
 "com.google.firebase:firebase-crashlytics:17.3.0"

堆栈跟踪:

 java.lang.RuntimeException: 
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4745)
  at android.app.ActivityThread.-wrap1 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1407)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:148)
  at android.app.ActivityThread.main (ActivityThread.java:5453)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:781)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:671)
Caused by: java.lang.NullPointerException: 
  at java.util.Objects.requireNonNull (Objects.java:109)
  at com.google.firebase.crashlytics.FirebaseCrashlytics.getInstance (FirebaseCrashlytics.java:232)
  at com.*.MyApplication.onCreate (MyApplication.java:82)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1016)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4741)
  at android.app.ActivityThread.-wrap1 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1407)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:148)
  at android.app.ActivityThread.main (ActivityThread.java:5453)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:781)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:671)

代码 sn-p(只是常规初始化):

     @Override
     override fun onCreate() {
         super.onCreate()
         FirebaseApp.initializeApp(this)
         FirebasePerformance.getInstance()
               .isPerformanceCollectionEnabled = false
         FirebaseCrashlytics.getInstance()
               .setCrashlyticsCollectionEnabled(!BuildConfig.IS_DEBUG_BUILD_TYPE) // <- line 82
     } 

【问题讨论】:

  • " at com.*.MyApplication.onCreate (MyApplication.java:82)" 错误表示问题出现在MyApplication.java的第82行。那是哪条线?
  • 嘿弗兰克。第 82 行在 sn-p 它的 FirebaseCrashlytics.getInstance() 调用中
  • 使用“@”回复特定的人。确保您也 ping 正确的人。我不是弗兰克。话虽如此,错误意味着FirebaseCrashlytics.getInstance() 返回null。也许您缺少一些配置以使其正常工作。
  • @Code-Apprentice 抱歉我的错误。并感谢您提供帮助。其实我之前做过FirebaseApp初始化。因为一般来说 Firebase 和 Crashlytics 是有效的。对于其他数百万个会话。但仅在极少数情况下会出现崩溃。
  • 我在快照中添加了一些更改以显示 FirebaseApp.initializeApp 之前已初始化。

标签: android firebase crashlytics


【解决方案1】:

根据the documentation

必须在调用此函数之前初始化默认 FirebaseApp 实例。有关详细信息,请参阅 FirebaseApp。

所以一定要初始化默认的FirebaseApp 实例。

【讨论】:

    猜你喜欢
    • 2021-02-11
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    相关资源
    最近更新 更多