在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)
我不明白堆栈跟踪中的这个<OR>
语句是什么。 ContactManager.getContactIdFromAddress()
仅从方法MessageCounterUtils.convertAddressToContact()
中调用。
如何正确理解此堆栈跟踪?
我相信我已经在上述方法中添加了必要的Null检查。
答案 0 :(得分:3)
我相信你遇到了这个问题所回答的同一问题:Android ProGuard return Line Number
Proguard默认不保留行号。
答案 1 :(得分:1)
如何正确理解此堆栈跟踪?
&LT;或者>字面意思是&#34; OR&#34;。当为某些行创建堆栈跟踪时,有几种可能性(LineNumberTable丢失或者它已损坏?)因此它们使用此前缀打印。