Gson с Proguard, забыл исключить мою модель данных из правил Proguard
У меня есть приложение, выпущенное несколькими сотнями пользователей, которое хранит все данные, записанные (это приложение для отслеживания фитнеса) на устройстве. Он сериализует данные в JSON с Gson, и я использую Proguard.
Однако... я забыл исключить мои классы данных (которые сериализуются / десериализуются) из правил Proguard.
Несколько месяцев назад я выпустил приложение с минимальным набором правил Proguard для сборки.
Буквально на прошлой неделе я выпустил обновление, чтобы улучшить что-то еще в моем приложении. Моя студия gradle / android была обновлена, и когда я пошел на сборку, я получил ошибку сборки в результате Proguard - я спешил выпустить, поэтому установил "minify" в false и выпустил релиз.
Мое приложение больше не может открывать исторические данные, вероятно, потому, что поля JSON запутаны в результате не исключения классов из правил Proguard.
Всегда ли Proguard запутывает одинаково при последующих сборках? Т.е., если мне удастся решить мою ошибку сборки Proguard, смогут ли мои пользователи увидеть свои старые данные?
Если нет, я думаю, у меня есть 2 варианта:
- Я предполагаю, что мне нужно будет написать свой собственный десериализатор / сериализатор для Gson, но мне нужно будет "взломать" оригинальную запутанность Proguard. В настоящее время я представляю себе рутирование устройства, установку старого APK на телефон, получение некоторых данных и их сериализацию, затем просмотр файла и сравнение его с моими классами, в надежде на то, что смогу разработать шаблон............веселье!
- Извинитесь перед пользователями, заставьте их переустановить приложение и потерять все свои данные.
У меня есть другие варианты?