NPE при обновлении до новой версии приложения с другими правилами ProGuard

Пытаясь интегрировать новую библиотеку в приложение (назовите это версией приложения 5), и для того, чтобы сделать сборку apk, я использовал следующие правила ProGuard (что, конечно, плохо, будет удалено в следующей версии);

-ignorewarnings
-keep class * {
    public private *;
}

Версия 4 приложения не содержит этих строк. Следовательно, общедоступный класс 'Message' скрыт в версии 4, но не в версии 5. Класс Message обрабатывает сохраненные элементы из базы данных sqlite. При обновлении с версии 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 ответов

Другие вопросы по тегам