Google Play Console Stack Trace

2019-04-28 14:17发布

In Google Play Console, I am getting the below exception trace. Although I have added deobfuscation files, the line numbers are being displayed as 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)

I dont't understand what this <OR> statements in the stack trace. The ContactManager.getContactIdFromAddress() is only called from the method MessageCounterUtils.convertAddressToContact().

How to properly understand this stack trace?

I believe I have added the necessary Null checks in the above method anyways.

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

2条回答
ゆ 、 Hurt°
2楼-- · 2019-04-28 14:21

How to properly understand this stack trace?

< OR > literally means "OR". When stack trace is created for some lines of it there are several possibilities (LineNumberTable is missing or it is corrupted?) so they are printed with this prefix.

查看更多
Fickle 薄情
3楼-- · 2019-04-28 14:33

I believe you're running into the same issue answered in this question: Android ProGuard return Line Number

Proguard doesn't keep the line numbers by default.

查看更多
登录 后发表回答