作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
尝试使用 crashlytics 实现两个崩溃处理程序(如 Crashlytics Android SDK - custom UncaughtExceptionHandler 中所述)我无法让 intializationCalback 在 Kotlin 中工作。有人有同样的问题还是我的代码有问题?(澄清一下:success 和 failure 方法都没有被调用,因此新的 UncaughtException Handler 也没有被执行)
val core = CrashlyticsCore.Builder()
.build()
Fabric.with(
Fabric.Builder(contextProvider.invoke()).kits(
Crashlytics.Builder()
.core(core)
.build()
).initializationCallback(object : InitializationCallback<Fabric> {
override fun success(fabric: Fabric) {
var mDefaultUEH = Thread.getDefaultUncaughtExceptionHandler()
Thread.setDefaultUncaughtExceptionHandler { t, e ->
Log.e("CrashLogger","Excpetion",e)
mDefaultUEH.uncaughtException(t, e)
}
}
override fun failure(e: Exception) {
Log.e("CrashLogger", "Error during initialization ", e)
}
}
).build()
)
最佳答案
在我的应用程序类中尝试了几乎相同的代码,但它对我有用,调用了 success()。
class MyApplication: MultiDexApplication() {
override fun onCreate() {
super.onCreate()
val core = CrashlyticsCore.Builder()
.build()
Fabric.with(
Fabric.Builder(this)
.kits(Crashlytics.Builder().core(core).build())
.initializationCallback(object: InitializationCallback<Fabric> {
override fun success(p0: Fabric?) {
Timber.d("InitializationCallback success")
}
override fun failure(p0: Exception?) {
Timber.d("InitializationCallback failure")
}
})
.build()
)
...
}
...
}
检查这些
AndroidManifest.xml
中检查 io.fabric.ApiKey
contextProvider.invoke()
是否返回适当的上下文android.app.Application
作为上下文,看看它是否有效关于android - 未调用 Crashlytics/Fabric initializationCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54213800/
尝试使用 crashlytics 实现两个崩溃处理程序(如 Crashlytics Android SDK - custom UncaughtExceptionHandler 中所述)我无法让 int
我是一名优秀的程序员,十分优秀!