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