Google Play控制台堆栈跟踪

在Google Play控制台中,我收到以下exception跟踪。 虽然我添加了反混淆文件,但行号显示为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 .getMessageCountDegrees(MessageCounterUtils.java:0) at .getContactMessageList(MessageCounterUtils.java:0) at .convertAddressToContact(MessageCounterUtils.java:0) at .getIndexFromDate(MessageCounterUtils.java:0) at .getWeekStartDate(MessageCounterUtils.java:0) at .getMessageLimitValue(MessageCounterUtils.java:0) at .getCycleSentCount(MessageCounterUtils.java:0) at com.ae.apps.messagecounter.activities.MainActivity$1.run(MainActivity.java:0) at java.lang.Thread.run(Thread.java:818)

我不明白堆栈跟踪中的这个语句是什么。 ContactManager.getContactIdFromAddress()仅从MessageCounterUtils.convertAddressToContact()方法中MessageCounterUtils.convertAddressToContact()

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

我相信无论如何我已经在上面的方法中添加了必要的Null检查。

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

我相信你遇到了这个问题中回答的同一问题: Android ProGuard返回行号

Proguard默认不保留行号。

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

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