Могу ли я использовать сериализацию с обфускацией?

Интересно, будет ли это работать … В моем приложении у меня есть объект, который я сериализую для файла, а затем я запутываю код с помощью ProGuard, и приложение переходит на Market. Затем я хочу выпустить новую версию приложения. Я делаю то же самое. Пользователи запускают обновление приложения.

Вопрос в том, является ли объект, который был сериализован с первой версией приложения, десериализован правильно во втором? И если да – почему?

Я мог бы найти несколько механизмов ( serialPersistentFields , ObjectInputStream # readFields ), которые позволяют настраивать сериализацию в зависимости от имен полей – если механизм по умолчанию еще не установлен. В документации ProGuard приведена некоторая примерная конфигурация, которая показывает, как заставить ProGuard игнорировать имена полей и все специальные методы и поля, используемые сериализацией.