【发布时间】:2020-11-12 23:03:07
【问题描述】:
从 Fabric Crashlytics 迁移到 FirebaseCrashlytics SDK 后,我在另一个进程上遇到了一些崩溃,而不是主进程。
当在 Activity 中使用另一个 Process 调用 FirebaseCrashlytics.getInstance() 时,即使 Crashlytics 中没有崩溃报告,应用程序也会崩溃而不会生成任何单个堆栈跟踪或任何日志消息。
Firebase Crashlytics 依赖项:
implementation 'com.google.firebase:firebase-crashlytics:17.1.1'
清单中的活动声明:
<activity
android:name=".view.alarm.AlarmActivity"
android:process="alarm.process"
android:screenOrientation="portrait"
android:showOnLockScreen="true"
android:showWhenLocked="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
android:turnScreenOn="true"
tools:targetApi="o_mr1" />
测试代码:
try {
throw RuntimeException("Test Crash")
}
catch (e:Exception){
FirebaseCrashlytics.getInstance().recordException(e)
}
FirebaseCrashlytics.getInstance() 的第一次调用会导致应用崩溃。
【问题讨论】:
-
你可能会在
FirebaseCrashlytics.getInstance()之前错过FirebaseApp.initializeApp(applicationContext) -
@MD 感谢您的回复。但根据文档,如果您已升级到 Firebase Crashlytics SDK,则不再需要显式初始化 Crashlytics。
-
如果您从 Fabric 迁移到 Firebase,则需要它
-
@MD 但我没有从 Fabric 迁移。我从一开始就一直在使用 Firebase Crashlytics。
-
@MD 哦,是的,它现在确实可以正常工作如果可能的话,如果我们从 Fabric 或旧的 Crashlytics SDK 迁移,您能否提供说明我们需要使用
FirebaseApp.initializeApp(applicationContext)的文档。非常感谢,先生您可以回答我会接受的。
标签: android firebase kotlin android-manifest firebase-crash-reporting