Android-приложение без serialVersionUID уже имеет много пользователей. Как добавить поле, которое изменяет serialVersionUID - PullRequest
0 голосов
/ 24 января 2019

У меня есть приложение для Android с тысячами пользователей.

У меня был класс "Люди" без serialVersionUID.

Теперь мне нужно добавить поле в этот класскоторая вызывает ошибку serialVersionUID:

local class incompatible: stream classdesc serialVersionUID = 7218824082595439088, local class serialVersionUID = 4788147862213096843

Теперь я могу решить эту проблему с моей стороны, просто объявив

private static final long serialVersionUID = 7218824082595439088L;

Это будетрешить проблему с моим приложением, но я предполагаю, что это не решит проблему, когда пользователи установят мое обновление, поскольку serialVersionUID на их телефонах будет другим (я читал, что это зависит от компилятора)?Или все их приложения будут иметь такой же serialVersionUID, что и у меня?

Как можно развернуть обновление, не нарушая приложения всех моих пользователей?

РЕДАКТИРОВАТЬ: Мой главный вопрос - одинаковы ли значения serialVersionUID для класса Person для всех пользователей моего приложения для Android (которые загрузили его из магазина Play)?Как он генерируется на моем компьютере, когда я собирал и подписывал apk?Или они различаются в зависимости от того, на каком устройстве оно установлено?

...