Может ли предыдущая версия заменить текущее установленное приложение?

Предположим, что в настоящее время на телефоне Android установлена ​​новая версия APK какого-либо проекта, но я хочу установить на телефон свой предыдущий APK. В таком случае, что произойдет? Будет ли он обновлен до предыдущей сборки или покажет ошибку?

Если он обновлен до предыдущей сборки, будут ли отображаться только определенные вещи из этой сборки или также будут включены текущие (последние) вещи?

Понижение было возможно до Android 4.0.

Ответы (1)

Начиная с Android 4.0, понизить версию приложения больше невозможно . Установка завершится ошибкой (с кодом ошибки [INSTALL_FAILED_VERSION_DOWNGRADE]при установке из ADB).

Обычно удаление приложения/обновления необходимо перед установкой конкретной версии из APK, но это также приведет к удалению данных . Есть альтернативы, чтобы предотвратить это:

  • Для пользователей ADB adb install -r -d <link to apk>разрешить понижение версии (из ответа supereee на SO )
  • (нужен рут) Используйте AppDowner для понижения версии приложения (подробнее на AndroidPit )
  • (нужен root) Используйте root Titanium Backup для резервного копирования данных, удалите приложение и установите с помощью APK в обычном режиме, затем восстановите данные (из AndroidForums )

В случае использования первых двух вариантов доступны только функции из этой сборки, игнорируя данные из более новой версии. (Это может или не может повлиять на совместимость приложения)