Обновление APK удаляет файл базы данных из файловой системы - PullRequest
0 голосов
/ 01 октября 2018

Наша проблема:

У нас есть приложение для Android на базе Cordova в PlayStore, которое использует плагин sqlite для хранения данных в базе данных.Мы уже обновили версию этого приложения с 1.0.0 до 1.1.0 успешно в прошлом, без проблем.Теперь мы попытались обновить приложение до более новой версии 1.1.1, которая содержит лишь некоторые незначительные исправления.Но когда мы устанавливаем обновление поверх версии из PlayStore, наша БД удаляется, а все данные из предыдущей версии теряются.

После некоторых исследований с помощью инструмента adb мы выяснили, что файл БД в файле ": ///data/user/0/my.app.id/databases/app.db "(my.app.id является только фиктивным заполнителем для этого поста) удаляется при обновлении приложения.Это означает, что файл БД уже удален за до , даже если обновленное приложение запускалось впервые.

Это происходит только при обновлении этой версии 1.1.0 из PlayStore.Все остальные версии (например, с 1.0.0 напрямую до 1.1.1) обновляются правильно без потери данных / БД.

То, что мы пробовали:

  • Восстановленоверсия 1.1.0 из нашего репозитория GIT, а затем обновленная версия 1.1.1 APK => без потери данных, все работает как положено
  • Создано пустое приложение Cordova без плагинов и контента.Установил это приложение как обновление свыше 1.1.0 из PlayStore => Файл БД удаляется
  • Создан пустой собственный APK для Android и установлен как обновление более 1.1.0 => Файл БД удаляется
  • Скачанный APK1.1.0 из PlayStore, открыл его, увеличил строку версии и снова подписал приложение с соответствующим файлом хранилища ключей => без потери данных и строка версии отображается как 1.1.1
  • Скачанный APK 1.1.0 из PlayStore, открыл егои заменил контент на 1.1.1 APK-контент, подписанное приложение и обновленный по сравнению с предыдущей версией 1.1.0 => не потеря данных, но приложение вылетает через несколько секунд
  • Dwonloaded APK 1.1.0 из PlayStore.Скачал APK 1.0.0 с PlayConsoel.Открыл APK файл 1.0.0 и только увеличил строку версии до 1.1.1.Подписано приложение и установлено поверх 1.1.0 => Файл БД будет удален
  • Загружена версия 1.1.1 в PlayStore как бета-версия и установлена ​​поверх 1.1.0 => Файл БД удален
  • Поискweb и stackoverflow для похожих проблем, но без результата, соответствующего нашему случаю

Мы действительно смущены и не знаем, что происходит, поскольку у нас есть несколько похожих приложений с одинаковой логикой / кодовой базой и всемиобновляется правильно.Так что любая подсказка, где искать, будет оценена!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...