寻求一些帮助.我刚刚将我的Android应用程序升级到结构,现在该应用程序在此行上出错了:
Crashlytics.start(getApplicationContext());
Gradle: error: cannot find symbol method start(Context)
我尝试评论该行,但随后崩溃没有被记录.如何在新的结构框架中初始化Crashlytics?我错过了什么吗?
在此先感谢您的帮助.
我们使用Crashlytics SDK来管理应用程序崩溃并获取有关它们的所需信息.
到目前为止,SDK自动收集的信息已足够
我想为每次崩溃添加更多信息,例如:可用和总堆内存,活动堆栈,......
事实是,我没有看到实现这一目标的方法.
我知道Android框架使用未处理的异常的方式非常简单(使用Thread.setDefaultUncaughtExceptionHandler),它可能是SDK的工作原理,但我找不到在哪里使用SDK本身的监听器.
该SDK有一个监听器,但似乎这不是当前会话的,如图所示这里.函数名称为"crashlyticsDidDetectCrashDuringPreviousExecution",表示它是上一个会话的名称.之前在已弃用的方法中可以使用相同的回调.
有没有办法在发生崩溃时立即向Crashlytics添加额外信息?
如果是这样,怎么样?
我正在使用此代码来跟踪应用程序何时崩溃:
val core = CrashlyticsCore
.Builder()
.listener {
Log.d("***", "Crash happened")
}
.build()
val crashlyticsKit = Crashlytics
.Builder()
.core(core)
.build()
// Initialize Fabric with the debug-location_inactive crashlytics.
Fabric.with(context, crashlyticsKit)
Run Code Online (Sandbox Code Playgroud)
我正在用throw NullPointerException()和测试它Crashlytics.getInstance().crash()。他们都没有打电话给听众。当应用程序再次启动时,这是在日志中:
I/CrashlyticsCore: Initializing Crashlytics 2.6.1.23
I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
I/CrashlyticsCore: Crashlytics report upload complete: SOME-LETTERS-AND-NUMBERS
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
编辑 我使用了How to show a Dialog after crash by using Crashlytics 中的代码?作为我的模板,但 API 似乎略有变化(在这个答案中,它实例化为一个类,但现在它是一个侦听器,请参阅文档)