【问题标题】:Crashlytics-Firebase crash report doesn't make sense [duplicate]Crashlytics-Firebase 崩溃报告没有意义[重复]
【发布时间】:2020-03-13 03:07:51
【问题描述】:

我有一个崩溃报告如下:

Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'android.view.View androidx.recyclerview.widget.RecyclerView$c0.a' on a null object reference
at com.xx.xx.Fragment$23$1.run(TestFragment.java:4)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

如何找到androidx.recyclerview.widget.RecyclerView$c0.a?崩溃发生在哪里?

与 NullPointerExceptions 完全无关。这个问题是关于在崩溃日志中未对类进行符号化时在 Crashlytics 报告中查找变量名称。

【问题讨论】:

  • 完全没有关系,你看不懂吗?它是关于在崩溃日志中没有符号化类时在 Crashlytics 报告中查找变量名称。
  • 嗯,崩溃报告说它发生在TestFragment.java 的第 4 行。首先查看该文件,并在问题中包含相关部分?
  • @DanGetz 报告没有符号化,在第 4 行没有任何内容,否则我不会问。该问题已得到解答。

标签: android android-fragments android-recyclerview nullpointerexception


【解决方案1】:

查看报告中的下一行:

at com.xx.xx.Fragment$23$1.run(TestFragment.java:4)

$23$1 是片段中第 23 个内部类中的第一个内部类。从堆栈跟踪来看,它看起来像是一个 Runnable 发布到 Handler

您的RecyclerView 在那里为空,但如果您想解码混淆名称c0.a 对应的特定字段,请查看属于该构建的mapping.txt(可以在构建/输出中找到/映射目录)。

【讨论】:

  • 非常感谢,这不适合人类)我得到了他的:androidx.recyclerview.widget.RecyclerView$ViewHolder -> androidx.recyclerview.widget.RecyclerView$c0: boolean mInChangeScrap -> o int mIsRecyclableCount - > m int mFlags -> j long mItemId -> e androidx.recyclerview.widget.RecyclerView mOwnerRecyclerView -> r java.util.List FULLUPDATE_PAYLOADS -> s androidx.recyclerview.widget.RecyclerView$Recycler mScrapContainer -> n android.view.View itemView -> 一个
  • 这不应该被 Crashlytics 发现吗?也许我应该以某种方式提交地图?再次非常感谢!我想我找到了这个地方,很棒的帮助!
  • 通常fabric/crashlytics gradle插件负责映射文件是的。
  • “你的 RecyclerView 在那里是空的” – 嗯,我不是这么读的:Attempt to read from field '...View ...RecyclerView$c0.a' on a null object reference。这意味着RecyclerView$c0 为空,而不是RecyclerView,是吗?一个空的ViewHolder。 Anyhoo,只是吹毛求疵。干杯!
  • @MikeM 代码是问题:new Handler().postDelayed(new Runnable() { public void run() { mRvFilters.scrollToPosition(0); new Handler().postDelayed(new Runnable( ) { public void run() { mRecycleView.findViewHolderForAdapterPosition(pos).itemView .performClick(); } }, 300); } }, 400);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多