【问题标题】:Google Play Console Stack TraceGoogle Play 控制台堆栈跟踪
【发布时间】:2017-10-24 13:18:33
【问题描述】:

在 Google Play 控制台中,我得到了以下异常跟踪。虽然我添加了反混淆文件,但行号显示为 0。

java.lang.NullPointerException: at com.ae.apps.common.managers.ContactManager.getContactIdFromAddress(ContactManager.java:0) at com.ae.apps.messagecounter.utils.MessageCounterUtils.sortThisMap(MessageCounterUtils.java:0) at <OR>.getMessageCountDegrees(MessageCounterUtils.java:0) at <OR>.getContactMessageList(MessageCounterUtils.java:0) at <OR>.convertAddressToContact(MessageCounterUtils.java:0) at <OR>.getIndexFromDate(MessageCounterUtils.java:0) at <OR>.getWeekStartDate(MessageCounterUtils.java:0) at <OR>.getMessageLimitValue(MessageCounterUtils.java:0) at <OR>.getCycleSentCount(MessageCounterUtils.java:0) at com.ae.apps.messagecounter.activities.MainActivity$1.run(MainActivity.java:0) at java.lang.Thread.run(Thread.java:818)

我不明白堆栈跟踪中的 &lt;OR&gt; 语句是什么。 ContactManager.getContactIdFromAddress() 只能从方法MessageCounterUtils.convertAddressToContact() 调用。

如何正确理解这个堆栈跟踪?

我相信我已经在上述方法中添加了必要的 Null 检查。

https://github.com/midhunhk/ae-apps-library/blob/master/app/src/main/java/com/ae/apps/common/managers/ContactManager.java#L377

【问题讨论】:

  • 你能发布你的 proguard 配置吗?它是否保留行号?
  • 嗯,我好像用的是默认的proguard文件。
  • 在这里看起来像同样的问题+解决方案:stackoverflow.com/questions/10158849/…

标签: java android google-play stack-trace


【解决方案1】:

我相信您在这个问题中遇到了同样的问题:Android ProGuard return Line Number

Proguard 默认不保留行号。

【讨论】:

    【解决方案2】:

    如何正确理解这个堆栈跟踪?

    字面意思是“或”。当为其中的某些行创建堆栈跟踪时,有几种可能性(LineNumberTable 丢失或已损坏?)因此使用此前缀打印它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 2011-12-04
      • 1970-01-01
      • 2015-04-09
      • 2014-01-15
      相关资源
      最近更新 更多