使用不同的ProGuard规则升级到新版本的应用程序时出现NPE

时间:2019-02-25 09:16:46

标签: android proguard obfuscation deobfuscation

尝试将新库集成到应用程序中(将其称为应用程序版本 5 ),为了构建apk,我使用了以下ProGuard规则(当然不好,应将其删除)在下一个版本中);

-ignorewarnings
-keep class * {
    public private *;
}
应用程序

版本 4 包含这些行。因此,在版本4中混淆了公共类'Message',但在版本5中没有混淆。Message类处理来自sqlite db的存储项。从版本4升级到版本5时,我会收到NPE:

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
       at com.myapp.Message.toString(Message.java:77)
       at java.lang.StringBuilder.append(StringBuilder.java:202)
       at com.myapp.MessageQueue.add(MessageQueue.java:228)
       at com.myapp.MessageQueue.resendFailedMessages(MessageQueue.java:170)

有没有办法在代码中处理此问题,以便可以解释Message类?

0 个答案:

没有答案