Как работает обновление
Проверка подписи:
- Новая версия приложения должна быть подписана тем же ключом, что и предыдущая.
- Если подпись не совпадает, установка завершится ошибкой.
Процесс обновления:
- Старые файлы приложения заменяются новыми.
- Данные приложения (если они не удалены в новой версии) сохраняются.
- Настройки и пользовательские данные остаются нетронутыми.
Важные моменты
- База данных: Если вы используете Room или другую БД, нужно правильно обработать миграцию данных.
- Пользовательские файлы: Файлы в директории приложения сохраняются.
- SharedPreferences: Настройки приложения остаются.
Что нужно учесть при разработке
Версия приложения в "build.gradle":
- Увеличить
versionCode. - Обновить
versionName.
ВыделитьФайл: build.gradle.kts
android {
defaultConfig {
applicationId "com.example.app"
minSdkVersion 21
targetSdkVersion 33
versionCode 2 // Увеличиваем на 1
versionName "1.1" // Обновляем версию
}
}
Миграция данных:
- Если структура данных изменилась, нужно прописать миграцию.
- Для Room это делается через
fallbackExportedAppDatabaseProvider.
Процесс установки обновления
- Система проверяет наличие старой версии.
- Блокирует старое приложение.
- Устанавливает новую версию поверх старой.
- Обновляет метаданные.
- Разблокирует приложение.
Рекомендации
- Всегда тестируйте обновление на реальных устройствах.
- Проверяйте сохранность данных после обновления.
- Документируйте изменения в базе данных.
- Тестируйте работу приложения после обновления.
Если вы хотите полностью удалить старую версию перед установкой новой, это можно сделать вручную через настройки телефона, но это не обязательно для процесса обновления.