Podpisy pakietów nie pasują do poprzednio zainstalowanej wersji

93

To mój projekt: https://github.com/kenpeter/my_hak_news , który jest bezpośrednią kopią https://github.com/grigio/HAgnostic-News .

Sklonuj Git https://github.com/kenpeter/my_hak_news , a następnie uruchomreact-native run-android

Mam ten błąd:

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.hagnosticnews signatures do not match the previously installed version; ignoring!

Powiązany problem: https://github.com/grigio/HAgnostic-News/issues/1 , podążam różnymi drogami, ale nie jestem w stanie rozwiązać tego problemu.

kenpeter
źródło
14
Czy masz już zainstalowaną aplikację na swoim telefonie? Jeśli tak, musisz go odinstalować, ponieważ używasz innego podpisu niż oryginalny
maxoumime
Po zainstalowaniu na telefonie, odinstalowałem go, naciskając długo, a następnie przeszedłem do odinstalowania. Wciąż nie działa.
kenpeter
4
Sprawdź, czy aplikacja została odinstalowana dla wszystkich użytkowników. Idź do Ustawienia -> Aplikacje -> Wiadomości HAgnostic -> Opcje (trzy kropki w prawym górnym rogu) -> Odinstaluj dla wszystkich użytkowników
maxoumime
To jest rozwiązanie!
kenpeter

Odpowiedzi:

133

Musisz go odinstalować, ponieważ używasz innego podpisu niż oryginał. Jeśli nie działa, może to być spowodowane tym, że jest nadal zainstalowany na urządzeniu dla innego użytkownika. Aby całkowicie odinstalować, przejdź do Ustawienia -> Aplikacje -> Wiadomości HAgnostic -> Opcje (trzy kropki w prawym górnym rogu) -> Odinstaluj dla wszystkich użytkowników

maxoumime
źródło
2
Odinstalowanie nic nie daje. Ten błąd występuje nawet na urządzeniach, na których nie zainstalowano aplikacji.
Igor Ganapolsky
3
@maxoimime co się stanie, gdy opublikujesz nową wersję w Sklepie Play. Czy użytkownik musi odinstalować aplikację przed zainstalowaniem nowej wersji? A może użytkownik będzie mógł bez problemu zaktualizować aplikację?
Peter
@maxoimime ta odpowiedź działa. Możesz rozważyć usunięcie swojego komentarza. Dla większości użytkowników jest to mylące
AL-zami
1
To też był problem dla mnie. Okazuje się, że moja aplikacja została również zainstalowana w Samsung Secure Folder.
Roman
Napotkałem ten problem, ponieważ z pewnych powodów niektóre wcześniej odinstalowane aplikacje były „niezainstalowane dla tego użytkownika”. Ale mam tylko jednego użytkownika w moim telefonie. To dziwne
Rémi Rousselet
79

Spotkałem się z tym problemem również w moim projekcie.

To mi pomogło, więc mam nadzieję, że pomoże komuś innemu:

adb uninstall "com.domain.yourapp"

Rozwiązanie jest tutaj.

jirimertin
źródło
Prawidłowa odpowiedź, +1 za uratowanie mojego dnia :)
Saeed
1
To jest prawidłowa odpowiedź, ponieważ odinstalowałem już aplikację z telefonu dla wszystkich użytkowników, ale nadal otrzymywałem ten sam błąd. Dzięki
Tarek K. Ajaj
1
Tutaj użytkownik Xamarin Forms. To była odpowiedź dla mnie. Odinstalowałem aplikację z telefonu, ale to nie wystarczyło.
brunner
tak, to działa również dla mnie, nie wyświetla się na liście aplikacji!
sl45sms
Byłem tak pewny, że to właściwa odpowiedź, że zagłosowałem za nią, zanim jeszcze ją wypróbowałem i zgodnie z oczekiwaniami zadziałało. Dzięki!
Jay Yoon
17

Jeśli wersja aplikacji, którą zainstalowałeś, nie została zbudowana przy użyciu tego samego magazynu kluczy / certyfikatu podpisującego, będzie miała inny podpis. Domyślnie każdy komputer kompilacji będzie miał inny certyfikat debugowania, chyba że określisz, w jaki sposób powinien być podpisany zgodnie z dokumentacją Google , której można użyć, aby upewnić się, że aplikacja zostanie zbudowana z tym samym kluczem debugowania, niezależnie od komputera, na którym zbudujesz aplikację na.

Aby kontynuować instalację, należy odinstalować istniejącą wersję, a następnie spróbować ponownie.

Jake_
źródło
14

Dzieje się tak, gdy zainstalowałeś aplikację z różnymi wersjami na telefonie komórkowym / emulatorze.

Wystarczy odinstalować istniejącą aplikację, aby rozwiązać problem

Muhammad Ashfaq
źródło
10

Dzieje się tak głównie wtedy, gdy na telefonie jest zainstalowana wersja aplikacji ze sklepu Google Play. Możesz zbudować kod przy użyciu tego samego magazynu kluczy / certyfikatu, którego użyłeś w wersji produkcyjnej, lub po prostu odinstalować go z telefonu i zbudować za pomocą magazynu kluczy / certyfikatu debugowania

TAK JAK
źródło
Mam do czynienia z tym samym problemem, o którym mowa w pytaniu. Czy możesz mi powiedzieć, jak mogę zbudować kod z wcześniejszym plikiem kluczy / certyfikatem? Mój klient dostarczył mi plik kluczy, ale nie wiem, jak mogę zbudować mojego natywnego Androida reagującego na plik kluczy dostarczony przez mojego klienta.
Yousaf Iqbal
Nie robiłem Androida od jakiegoś czasu, ale zgodnie z tym: developer.android.com/studio/publish/app-signing#sign_release , powinieneś przejść do Build> Generate Signed Bundle / APK i pod `` Key store path '' ', naciśnij' Wybierz istniejący ... '
AS
6

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: nie udało się sfinalizować sesji: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Podpisy pakietu [MY REACT NATIVE APP NAME HERE] nie pasują do poprzednio zainstalowanej wersji; ignorowanie!

Otrzymałem ten błąd podczas próby zainstalowania mojej aplikacji React Native na Androida na podłączonym urządzeniu za pomocą tego polecenia:

react-native run-android --variant=release

Miałem też emulator działający na moim komputerze.

Po zamknięciu emulatora uruchomienie tego polecenia zakończyło się pomyślnie.

Beau Smith
źródło
6

Dzisiaj miałem ten sam problem na moim urządzeniu Samsung. W moim przypadku aplikacja NIE wyświetlała się na telefonie, ale została ZAINSTALOWANA , więc nie mogłem jej odinstalować / usunąć . Dlatego musiałem odinstalować aplikację za pomocą terminala : $ adb uninstall "com.domain.yourapp" Moje drzewo projektu wygląda następująco (widok częściowy):

└── com
    └── gluonapplication
        ├── DrawerManager.java
        ├── StartApplication.java
        └── views
            ├── PrimaryPresenter.java
            ├── PrimaryView.java
            ├── SecondaryPresenter.java
            └── SecondaryView.java

Dla mnie polecenie brzmiało: $ adb uninstall com.gluonapplication Po zakończeniu zainstalowałem aplikację przez terminal:

$ cd /path/to/apk/
$ adb install -t myAwesomeApp.apk  # -t means test install

To właśnie zadziałało dla mnie. Mam nadzieję, że ta odpowiedź jest pomocna.

Qazi Fahim Farhan
źródło
5

Jeśli próbujesz zainstalować go w emulatorze, ale masz inny telefon podłączony do komputera przez USB, odłącz kabel USB lub wyłącz debugowanie USB w urządzeniu fizycznym. (Sam zmarnowałem 30 minut.)

waliurjs
źródło
1
To był mój problem. Miałem telefon podłączony do komputera w celu naładowania i próbowałem uruchomić w emulatorze.
user3486427
3

Mam ten sam błąd. Odinstalowałem aplikację na moim urządzeniu wirtualnym i ponownie uruchomiłem polecenie: „Reaguj na natywne run-android”.

Wiezalditzijn
źródło
1

Mam ten sam problem, w AVD działało dobrze, ale w moim telefonie nie było ok. Odinstalowałem aplikację na moim telefonie i działa dobrze.

Rafael Ramon
źródło
1

Ten błąd przydarzył mi się, gdy poprzednia kompilacja na moim symulatorze / telefonie była przesyłana z różnymi poświadczeniami. To, co musiałem zrobić, to uruchomić:

adb uninstall com.exampleappname

Gdy to zrobiłem, mogłem ponownie uruchomić kompilację i wygenerować plik APK.

Ariel Salem
źródło
0

Musisz go odinstalować, ponieważ używasz innego podpisu niż oryginał. Jeśli nie działa, może to być spowodowane tym, że jest nadal zainstalowany na urządzeniu dla innego użytkownika. Aby całkowicie odinstalować, przejdź do Ustawienia -> Aplikacje -> (określona aplikacja) -> Opcje (trzy kropki w prawym górnym rogu) -> Odinstaluj dla wszystkich użytkowników.

Mam również ten problem, który już zainstalowaną aplikację ionic (ta sama nazwa pakietu) usuwa z mojego telefonu po tym, jak działa idealnie.

mahendren
źródło
0

Miałem ten problem na urządzeniu Samsung, odinstalowanie aplikacji dało ten sam komunikat. Problem polegał na tym, że aplikacja została również zainstalowana w obszarze „Bezpieczny folder” telefonu. Warto sprawdzić, czy to Twój scenariusz.

Eliram
źródło
0

Przejdź do Android Studio -> Menedżer AVD -> Wybierz swój AVD i wyczyść dane użytkownika

Nie ma potrzeby ponownego instalowania całego AVD.

mingliang94
źródło
0

musisz całkowicie odinstalować dla urządzeń LG za pomocą polecenia cmd adb uninstall nazwa_pakietu

przeciwko Vinh
źródło
oni odpowiedzieć na to pytanie 4 lata temu co sugeruje
Gonzalo Garcia
0

Zdarzyło mi się to w projekcie React Native, gdy zmieniałem nazwę identyfikatora pakietu aplikacji i zderzyło się z innym identyfikatorem pakietu, którego już wcześniej użyłem. Naprawiłem to, wykonując ponowną instalację:

  1. Znajdź aplikację na ekranie głównym symulatora, naciśnij i przytrzymaj ikonę aplikacji, a App infonastępnie naciśnij , a następnie wybierz „ODINSTALUJ”.

  2. Wykonaj react-native run android.

Jamie Birch
źródło
0

Dzieje się tak ze względu na dostępność poprzedniej wersji Aplikacji, która nie jest zainstalowana na urządzeniu, ale jej dane znajdują się w pamięci urządzenia. Dlatego nie udaje się zaktualizować danych odinstalowanej aplikacji na urządzeniu

Spróbuj tego :

Przejdź do Ustawienia urządzenia ==> Aplikacje (wszystkie aplikacje) ==> wyszukaj swoją aplikację LUB wyszukaj „ klient ” ==> Na ekranie informacji o aplikacji naciśnij opcję potrójnych kropek w prawym górnym rogu ==> wybierz „ Odinstaluj dla wszystkich użytkowników” '==> pojawi się monit wybierz' OK '

U mnie działa za każdym razem, gdy wystąpi ten błąd

Harshal Patil
źródło
0

W moim przypadku problem polegał na tym, że zainstalowałem aplikację o nazwie pakietu, powiedzmy com.example.package, używając Android Studio na moim urządzeniu. Utworzyłem inną aplikację o tej samej nazwie pakietu i próbowałem ją zainstalować na moim urządzeniu. To właśnie było przyczyną problemu. Po prostu sprawdź na swoim urządzeniu, czy inna aplikacja o tej samej nazwie pakietu już istnieje, czy nie.

ANUJ GUPTA
źródło
-1

W moim przypadku odinstalowanie zainstalowanej aplikacji w podłączonym urządzeniu rozwiązało mój problem

Long Nguyen
źródło
-5

Jednocześnie może być otwarty tylko 1 emulator lub urządzenie. Upewnij się, że nie masz uruchomionych wielu emulatorów.

Plaimanus Lueondee
źródło