Błąd [INSTALL_FAILED_UPDATE_INCOMPATIBLE], nawet jeśli wydaje się, że aplikacja nie została zainstalowana


206

Podczas próby wdrożenia mojej aplikacji na urządzeniu z systemem Android pojawia się następujący błąd:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Mam świadomość tego pytania, ale aplikacja nie jest zainstalowana. Został on usunięty / częściowo usunięty przez Visual Studio podczas próby wdrożenia.

W przeszłości rozwiązałem ten problem, pobierając aplikację ze sklepu Google Play, a następnie usuwając ją z ustawień-> Menedżer aplikacji. Jednak teraz pojawia się błąd „niekompatybilna aktualizacja”, gdy próbuje ją zainstalować.

Próbowałem go usunąć za pomocą Titanium Backup i kilku innych rzeczy, ale bez powodzenia.

EDYCJA 1

Zdałem sobie sprawę (z @Motz), że nie wspomniałem, że oczywiste rozwiązanie nie działa. Mianowicie, aplikacja nie pojawia się w Ustawienia-> Aplikacje


Która wersja jest zainstalowana na twoim urządzeniu?
Haresh Chhelana

Może się tak zdarzyć, jeśli wymagana przez aplikację minimalna wersja zestawu SDK jest wyższa niż wersja systemu operacyjnego urządzenia.
Haresh Chhelana

Sprawdź logcatdodatkowe wskazówki podczas próby zainstalowania aplikacji. Powinien znajdować się wpis dziennika zawierający więcej szczegółów wyjaśniających, dlaczego zawodzi.
Jeff Mixon

Jaką wersją Androida jest twój telefon?
Darpan

Moja wersja Androida to 4.4.2. Minimalny zestaw SDK jest w porządku, ponieważ wcześniej zainstalowałem aplikację i sprawdziłem.
YKa

Odpowiedzi:


565

Widziałem to kilka razy. Zwykle jest to spowodowane posiadaniem podpisanej wersji wydania na moim telefonie, a następnie próbą wdrożenia wersji debugowania na wierzchu. Utknie w niepoprawnym stanie, w którym nie został w pełni odinstalowany.

Rozwiązaniem, które działa dla mnie, jest otwarcie wiersza polecenia i wpisanie:

adb uninstall my.package.id

To zwykle kończy dezinstalację, aby móc kontynuować programowanie.

Powodzenia!


1
Działa to dla mnie podczas ponownego uruchamiania i odinstalowywania aplikacji.
Agresor

26
Stackoverflow powinien mieć listę ulubionych odpowiedzi. Ta magia działa jak urok.
Josh

2
Jeśli używasz urządzenia z Androidem do testowania i jeśli zainstalujesz aplikację na innym komputerze, a następnie spróbujesz zainstalować na swoim komputerze, pojawi się ten błąd. To rozwiązanie działa.
SajithK,

Uratowałeś mi dzień. W Menedżerze aplikacji zainstalowano uszkodzoną wersję aplikacji (nie wyświetla się w sekcji Aplikacje). Chciałem go odinstalować przed wdrożeniem
Anees Deen,

1
Niech Bóg błogosławi StackOverflow, a panu za rozwiązanie problemów, które Xamarin powinien rozwiązać: \
Eric Wu

79

Nie musisz tego robić adb uninstall, po prostu przejdź do swojego, settings->appsa następnie odinstaluj stamtąd. Twoja aplikacja będzie wyszarzona.

Problemy zwykle dotyczą wersji Release vs. Debug, takiej jak @Kiliman.


1
Przepraszam @Motz, to była jedna z pierwszych rzeczy, które zrobiłem, ale aplikacja nie jest objęta aplikacjami ... Zredagowałem moje pytanie
YKa

AKTUALIZACJA: W przypadku korzystania z Androida 5.0 (Lollipop) ta funkcja również działa. Pokazuje się aplikacja o rozmiarze 0,00 KB i mogę ją łatwo odinstalować.
YKa

2
Ustawienia> Aplikacje> odinstalowanie nie zawsze działa. Czasami występują problemy z wieloma profilami użytkowników i nie są odinstalowywane dla wszystkich użytkowników. Lub aplikacja została w połowie odinstalowana w złym stanie. adb uninstallwziąłby te scenariusze.
wisbucky,

Nie zawsze jest to prawdą. Często robiłem to w przeszłości i działało to doskonale. Ale dziś mojej aplikacji po prostu nie było. I nie było to również na końcu listy aplikacji (czasami trzeba odinstalować dla wszystkich użytkowników, a nie tylko dla bieżącego użytkownika). adb uninstalldziałało idealnie.
ja--

30

Wystarczy odinstalować aplikację, aby uniknąć tego problemu.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

ale czasami nawet odinstalowanie wiadomości jest podnoszone ponownie, pojawia się w systemie Android OS 5.0 +, więc jest to rozwiązanie:

Przejdź do Settings>, Appsa znajdziesz swoją aplikację z komunikatem:

„Niezainstalowany dla tego użytkownika”

, musimy odinstalować ręcznie dla wszystkich użytkowników z opcją:

„Odinstaluj dla wszystkich użytkowników”


1
Tak to działa. Po unnistall dla wszystkich użytkowników, ionic cordova run android --devicedziała! Tks!
Diego Somar

10

Musisz się upewnić, że aplikacja została odinstalowana.

W telefonie spróbuj settings/applicationswyświetlić listę wszystkich zainstalowanych aplikacji, a następnie upewnij się, że aplikacja została odinstalowana dla wszystkich użytkowników (w moim przypadku aplikacja została odinstalowana, ale nadal dla innych).


5

Zwykle napotykam ten problem na urządzeniach z Androidem 5.0+. Ponieważ ma konta profili wielu użytkowników na tych samych urządzeniach. Każda aplikacja zostanie zainstalowana jako osobna instancja dla wszystkich użytkowników. Należy odinstalować dla wszystkich użytkowników, jak pokazano poniżej.

wprowadź opis zdjęcia tutaj


5

Przez przypadek miałem podłączone dwa urządzenia.

Po usunięciu jednego urządzenia INSTALL_FAILED_UPDATE_INCOMPATIBLEwystąpił błąd.


Dzieje się tak również wtedy, gdy emulator działa przypadkowo, gdy się nie spodziewałeś
blub

2

Odinstaluj aplikację (działającą aplikację) z urządzenia z systemem Android, a następnie uruchom ponownie.


1

Możesz po prostu dodać parametr do uruchomienia, zobacz:

Run --> Parameters

W parametrach pola add -cleaninstall

Teraz po prostu uruchom, zawsze zrobią głębokie czyszczenie przed instalacją.


1

Ok odinstaluj aplikację, ale przyznajemy, że dane nie muszą zostać utracone? Można to rozwiązać, aktualizując kod wersji i kod wersji i wypróbuj aplikację w trybie „Release”.

Jest to na przykład ważne, gdy chcemy spróbować migracji naszej bazy danych. Możemy porównać naszą aplikację w sklepie Play z rzeczywistą aplikacją jeszcze nie wydaną.


1

W moim przypadku. Zainstalowałem aplikację w wersji. A po odinstalowaniu aplikacji z mojego urządzenia. Rzecz działa dobrze.


0

W moim przypadku otrzymywałem to, gdy przełączyłem minimalną docelową wersję Androida i kiedy wróciłem do oryginalnej (kiedy tworzyłem projekt na początku). Tak więc odinstalowanie działało. Ale kiedy zmieniłem moją wersję Androida na najnowszą, dostałem ją ponownie. Aby to naprawić, poszedłem do właściwości projektu Android i w sekcji manifestu Androida, dodałem nazwę pakietu np. Com.dotnetdreamer.net. Jeśli masz już nazwę pakietu, możesz po prostu zmienić jego nazwę na inną.


Zmieniłem „docelową wersję kompilacji” mojej aplikacji z 4.4.2 na 5.0.1. Teraz nie mogę zaktualizować najnowszej wersji mojej aplikacji w stosunku do poprzednio wydanej wersji podpisanej tym samym kluczem. Czy możesz podać dowolny adres URL wyjaśniający / omawiający ten problem, ponieważ muszę go udostępnić moim klientom. Korzystam z Eclipse i próbowałem rozwiązać ten problem po swojemu, ale nie mogę znaleźć sekcji „Manifest Androida” we właściwościach projektu. Czy możesz mi pomóc? Dzięki
Abdul Rehman,


0

Usuń wszystkie pliki aplikacji z telefonu

Aby zautomatyzować usuwanie aplikacji z telefonu, możesz wykonać poniższe czynności. Przydatne może być szybkie usunięcie aplikacji i danych aplikacji.

Utwórz plik tekstowy z tym kodem i zapisz go jako Uninstall.sh. Przejdź do folderu (w którym go umieściłeś) tego skryptu w terminalu i wykonaj: sh Uninstall.sh YOURNAMESPACE

Teraz twój folder nazw (w tym zapisane pliki aplikacji i baza danych) zostanie usunięty.

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

Usuń wszystkie pliki aplikacji z komputera

Utwórz plik tekstowy z tym kodem i zapisz go jako DeleteBinObj.sh.

find . -iname "bin" -o -iname "obj" | xargs rm -rf

Przejdź do folderu swojego projektu, w którym umieścisz ten skrypt i zrób w terminalu: sh DeleteBinObj.sh


0

Gdyby to pomogło komuś, wdrożyłem aplikację w Google Play, kiedy ją odinstalowałem i próbowałem uruchomić debugowanie na urządzeniu (nowa wersja), otrzymałem ten komunikat o niepowodzeniu aktualizacji.

Nie widziałem aplikacji na moim urządzeniu (została już odinstalowana), więc:

Zainstalowałem ponownie pierwszą wersję z Google Play

Otwarte ustawienia / aplikacja / nazwa aplikacji

Wyczyściłem dane

Wyczyściłem pamięć podręczną

Odinstalowałem aplikację

Teraz możesz ponownie wdrożyć wersję debugowania na urządzeniu :)


0

Jeśli używasz urządzenia Samsung i przypadkiem zaznaczyłeś swoją aplikację dla Samsung Knox, musisz ją odinstalować z aplikacji My Knox.

Odinstalowanie tylko z aplikacji ogólnych nie spowoduje odinstalowania z aplikacji Knox. Należy to zrobić jawnie!


0

Używanie Ionic z Cordova za pomocą wiersza poleceń ...

ionic cordova run android --prod

Natknąłem się na to i stwierdziłem, że usunąłem wersję z poprzedniej instalacji testowej, ale miałem starą wersję debugowania, która wisiała w szufladzie aplikacji, którą przegapiłem. Odłączyłem urządzenie od komputera, otworzyłem szufladę aplikacji i użyłem „Wyszukaj aplikacje ..”, aby znaleźć wszystkie instancje aplikacji, aby je odinstalować. Potem ponownie podłączyłem urządzenie do komputera i altówki, zadziałało!

Dzięki za pomoc wszystkim!


0

Mam nadzieję, że to pomoże komuś w przyszłości, ale po prostu przejdź do ciebie config.xml, w widgettagu zmień domyślny id ( io.ionic.starter) na własny identyfikator. Rzucić okiem na to dla Androida pakietu nazewnictwa.


0

Podpis Niedopasowanie poprzedniej obecnej aplikacji i nowego APK

Więc odinstaluj poprzednią aplikację i gradlew clean i ponownie zainstaluj apk

Reaktywny natywny run-android

Reaktywny natywny run-ios


0
  1. Odinstaluj aplikację z podłączonego urządzenia (emulatora lub urządzenia mobilnego)
  2. dostałem terminal do folderu projektu cd android 3, następnie uruchom ./gradlew cleango, wyczyść kompilację 4 cd..i uruchom poniżej 5 react-native run-android
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.