Crashlytics无法使用Kotlin android扩展程序生成详细的错误报告

时间:2018-07-12 05:48:29

标签: android kotlin crashlytics crash-reports kotlin-android-extensions

我正在使用Firebase Crashlytics进行错误报告。我也在使用Kotlin Android扩展程序。

最近,我在堆栈跟踪中看到以下行:

com.example.foo.bar.MainActivity$onResume$1.onClick (MainActivity.kt:41)
android.view.View.performClick (View.java:5201)
android.view.View$PerformClick.run (View.java:21163)
android.os.Handler.handleCallback (Handler.java:746)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:148)
android.app.ActivityThread.main (ActivityThread.java:5443)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:728)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)

这是指onClick侦听器内部的崩溃。

但是,在我的实际应用中,代码大致是这样的(以下代码位于onResume内:

    someButton.setOnClickListener {
               //Code that generates exception
    }

我使用Kotlin Android扩展而不使用someButton来引用对象findViewById

如您所见,stacktrace不会告诉我发生崩溃的哪个onClick侦听器/ onClick侦听器属于哪个按钮。它只告诉我,崩溃是在onClick内部创建的onResume侦听器内部发生的。实际上,找出崩溃也是哪个onClick侦听器的唯一方法是查看行号并将其与我的代码匹配。

有没有办法让我更详细地描述崩溃发生的方法?为什么显示$.onClick而不是someButton.onClick?是因为我使用Kotlin Android扩展程序,而不是传统的findViewById吗?

0 个答案:

没有答案