- Wszystkie dane nie znikają (pliki, preferencje, bazy danych). Bazy danych są specjalne, ponieważ możesz określić wersję bazy danych i jeśli wykryje ona zmienioną wersję, zadzwoni pod numer
onUpgrade()
. Dla wszystkich innych jesteś odpowiedzialny za aktualizowanie ich do nowej wersji, jeśli to konieczne.
- Jak powiedziałem w 1, Android wszystko utrzymuje. Od Ciebie zależy, jak sobie poradzisz ze zmianami w sposobie przechowywania danych.
- Użyj
adb install -r /path/to/newApk.apk
(zwróć uwagę na flagę -r
, która mówi o aktualizacji do r). Zasadniczo przepływ pracy powinien być następujący:
.
adb uninstall my.package
adb install /path/to/old.apk
# play with app, set preferences, databases, etc.
adb install -r /path/to/new.apk
# watch your app crash in an impressive ball of fire
# fix stuff
# goto 0
Inne uwagi: Tak, aplikacja wykona czyste usuwanie aplikacji przed instalacją nowej wersji. Jak już wspomniałem, dane Twojej aplikacji nie są usuwane z danych. Musisz jednak zachować ostrożność, ponieważ to usunięcie powoduje kilka rzeczy:
- Wszelkie procesy związane z Twoją aplikacją są zabijane (więc jeśli aplikacja jest uruchomiona - wszelkie działania, usługi, wszystko, wszystkie komponenty będą zabity).
- Wszystko, co jest związane z Twoją aplikacją, zostało usunięte z systemu, na przykład powiadomienia wysłane przez
NotificationManager
, alarmy ustawione przez AlarmManager
itd. Nie jestem pewien, co dzieje się z jakimikolwiek widżetami (nigdy nie pracowałeś z widżetami).
Dzięki za szczegółową odpowiedź! – Samuh
Usuwane są także zmienne statyczne i wszelkie inne przydziały pamięci. –