NPE при обновлении до новой версии приложения с другими правилами ProGuard - PullRequest
0 голосов
/ 25 февраля 2019

Попытка интегрировать новую библиотеку в приложение (назовите ее версией приложения 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?

...