INSTALL_FAILED_UPDATE_INCOMPATIBLE, wenn ich versuche, kompiliertes .apk auf dem Gerät zu installieren

291

Ich habe den Trebuchet-Launcher aus CyanogenMod 9 kompiliert und versucht, ihn mit adb zu installieren:

$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
    pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Ich habe Nexus S mit CM9 und Galaxy Nexus mit Standard JB ausprobiert. Warum bekomme ich diesen Fehler?

BEARBEITEN: In meinem Fall habe ich versucht, das Systempaket mit dem Paketmanager neu zu installieren . Das wird nicht unterstützt, daher habe ich diesen Fehler. Die Fehlerquelle kann in Ihrem Fall unterschiedlich sein.

artem
quelle
2
Überprüfen Sie auf einigen neuesten Geräten mit mehreren Benutzern, ob die App für andere Benutzer installiert ist (z. B. Gastanmeldung). Ein Tester in meiner Firma hatte stundenlang mit diesem Problem zu kämpfen. Als er zu mir kam, dauerte es auch 5-10 Minuten, bis ich herausfand, dass dieselbe App unter einem anderen Gast-Login auf diesem Gerät installiert war auf dem Startbildschirm angezeigt werden oder nicht einmal in Einstellungen
Shirish Herwade

Antworten:

500

Dies bedeutet, dass die Anwendung, die Sie installieren möchten, bereits installiert ist. Entfernen Sie einfach die alte und versuchen Sie es erneut.

Mustafa Güven
quelle
27
Arbeitete für mich, aber ich musste auch einmal neu starten.
Droidgren
28
Ich musste unter Einstellungen -> Anwendungen verwalten nach der App suchen und sie von dort deinstallieren, da sie an keiner anderen Stelle angezeigt wurde.
David Conlisk
23
Möglicherweise müssen Sie auch von allen Benutzerkonten deinstallieren (mein Nexus 10 hatte 3 Benutzer).
Tyler Kiser
1
@ TylerKiser Danke für die Hinweise.
Jacob Holloway
1
Was ist, wenn ich nur versuche, eine vorhandene App zu aktualisieren? Dies würde alles entfernen, was meine letzte App lokal gespeichert hat
Miracle-Doh
184

Versuchen

adb uninstall package-name

Für mich geht das. Ich habe meine App mit Titanium Backup entfernt. Ich denke jedoch, dass Titanium Backup meine App nicht vollständig entfernt hat.

einverne
quelle
1
Ich habe dasselbe mit DevDrawer bemerkt. Das hat funktioniert.
Tir38
1
Vielen Dank! Dies rettete mich vor großen unerklärlichen Kopfschmerzen. Ich bin mir nicht sicher, wie ich in diesen Zustand gekommen bin ... Ich debugge eine App in Xamarin Studio und Visual Studio und sie hat einwandfrei funktioniert, bis sie nicht mehr ... na ja.
Jamie
1
Wenn alles andere auf der akzeptierten Antwort fehlschlug ... funktionierte dies.
DennisWelu
Großartig! Simpel und einfach. Mit dieser Lösung muss kein Neustart durchgeführt werden.
Taciosd
Für mich geht das. Bevor ich versuchte, manuell zu deinstallieren und neu zu starten und nichts zu ändern, funktioniert es nur mit dem Befehl adb. Danke dir.
Ricky.tribbia
101

Die Deinstallation der Anwendung würde ausreichen, um dieses Problem zu vermeiden.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

Aber manchmal wird sogar die Deinstallation der Nachricht erneut ausgelöst. Sie tritt in Android OS 5.0 + auf. Dies ist also die Lösung:

Gehen Sie zu Settings> Appsund Sie finden Ihre App mit der Meldung:

"Nicht für diesen Benutzer installiert" Geben Sie hier die Bildbeschreibung ein

Wir müssen für alle Benutzer manuell deinstallieren! Dann können wir unsere kompilierte Anwendung ohne Probleme installieren.

Geben Sie hier die Bildbeschreibung ein

Weitere Optionen:

  • Entfernen Sie die alte Anwendung und installieren Sie sie erneut.
  • Verwenden Sie den Befehl Android Debug Bridge:

    adb deinstallieren [PAKETNAME]

Jorgesys
quelle
2
Danke dir! Das brauchte ich. Warum und wann haben sie so angefangen?
Nick
anscheinend seit OS 5.0 +
Jorgesys
1
Anfangs konnte ich meine deinstallierte App unter Einstellungen -> Apps nicht finden. Es stellte sich heraus, dass in Lollipop 5.1.1 die deinstallierte App nach dem Paketnamen und nicht nach dem Namen der App aufgelistet wurde. Wenn Sie also eine adb-Deinstallation durchgeführt haben und die adb-Installation immer noch fehlschlägt, suchen Sie unter Ihrem Paketnamen nach Ihrer deinstallierten App. Daher wird com.acme.wileycoyote alphabetisch unter "c" und nicht unter "w" aufgeführt.
Yojimbo
Danke, das funktioniert! Mein Telefon hat nicht die Option "Für alle Benutzer deinstallieren", ich deinstalliere es, indem ich mich bei allen Benutzern
anmelde
1
Was "alle Benutzer", wenn der Benutzer genau einer ist - ICH !!! Wie auch immer, es funktioniert - positiv bewertet.
WindRider
21

Zwei Möglichkeiten, die funktionieren können

1: Deinstallieren Sie die App manuell vom Mobilgerät

2: Öffnen Sie die Eingabeaufforderung, verfolgen Sie den Pfad des adbfolgenden Befehls und führen Sie ihn aus

adb uninstall your_package_name
Dharam
quelle
2
Der einzige Weg, der für Geräte ohne Anzeige funktioniert.
DenisKolodin
1
Beispiel: "adb deinstalliert net.gavin.hello", wobei der Paketname auf AndroidManifest.xml als "package =" net.gavin.hello "" steht
Gavin Simpson
9

Ich habe das Paket gerade umbenannt und es hat bei mir funktioniert.

Wenn Sie Ionic verwenden, können Sie die Anwendung löschen und erneut versuchen. Dies geschieht, wenn ionic feststellt, dass die von Ihnen bereitgestellte App nicht aus demselben Build stammt. Es kommt oft vor, wenn Sie vom PC wechseln.

artem
quelle
Sonst hat bei mir nichts funktioniert. Danke für die tolle Idee!
Ken Pespisa
2
Zu viel Arbeit, ich würde apk sichern und entfernen und es neu installieren.
Pevik
funktionierte nicht unter Android 6.0.1. Musste die App auf dem Gerät löschen und das gleiche Paket neu installieren.
Kakyo
13
"Ich habe das Paket gerade umbenannt", das funktioniert nicht, tatsächlich erstellen Sie eine andere Anwendung!
Jorgesys
8
  1. Gehen Sie zu: Ihrem ADB-Ordner \ sdk \ platform-tools \
  2. Typ cmd
  3. Geben Sie Folgendes ein: adb remount im Befehlsfenster
  4. ADB Shell
  5. su
  6. rm /system/app/IhreApp.apk
  7. Starten Sie Ihr Gerät neu
user3278378
quelle
Was macht Remount? Kann ich mit dieser Keep Release- und Debug-Version diese problemlos bereitstellen und erneut bereitstellen?
piotrek1543
2
Macht nicht viel Sinn, da Benutzer-Apks nicht in /system/appaber/data/app
m0skit0
@ piotrek1543 stellt die adb remountSystempartition als schreibgeschützt statt als schreibgeschützt wieder her.
m0skit0
8

Die Frage war, warum er diesen Fehler bekommt. Die Deinstallation wird dieses Problem lösen, aber in meinem Fall, während ich die kompilierte Version der apk installierte, trat das Problem auf. Ich habe versucht, ein Update für meine Anwendung zu erstellen. Also habe ich eine signierte apk erstellt und dann versucht, die apk zu installieren und die apk perfekt zu installieren. Also, anstatt die alte apk zu entfernen, musste ich das neuere Update signieren und dann installieren.

Reaz Murshed
quelle
1
Hier gilt das gleiche. Versuchen Sie, den Aktualisierungsprozess zu testen. Eine Deinstallation ist also keine Option.
Martin
6

Dies liegt möglicherweise daran, dass Sie mehr als einen Benutzer auf Ihrem Gerät haben und gerade die App auf einem gelöscht haben ( wobei die apk für die anderen noch vorhanden ist ).

Ich habe in allen Konten gelöscht, und es hat danach funktioniert.

neteinstein
quelle
Meinen Sie Google-Konten?
CACuzcatlan
Ja genau das was ich meine.
Neteinstein
5

Dies kann passieren, wenn Sie Ihre Bewerbung mit einem anderen Zertifikat signieren. Sie können immer verwenden

adb install -r myapk.apk

um eine vorhandene apk auf deinem gerät zu überschreiben, wird aber trotzdem der fehler angezeigt, wenn du die neue apk mit einem anderen zertifikat als der installierten apk signiert hast.

In diesem Szenario müssten Sie die apk von Ihrem Gerät deinstallieren, bevor Sie eine Installation versuchen. Dies kann sich jedoch auch auf Ihre Anwendung auswirken, da Ihre ursprüngliche Signatur möglicherweise an bestimmte Entwickler-APIs gebunden ist. Daher müssen Sie möglicherweise die Konsole mit Ihren neuen Anmeldeinformationen aktualisieren.

Pixel
quelle
4

Ich habe den Astro-Dateimanager installiert und nach einer früheren Version der apk-Datei gesucht, eine auf der SD-Karte gefunden und die apk-Datei mit dem Astro-Dateimanager gelöscht.

fll
quelle
4

Wenn Ihr Gerät mehrere Benutzer unterstützt, müssen Sie möglicherweise auch die App für jedes Konto löschen.

Normalerweise benutze ich adb und das macht den Trick adb uninstall <your-package-name>

Mark Pazon
quelle
4

wenn das APK in einem Projekt mit der Datei Android.mk erstellt wurde. Möglicherweise liegt es daran, dass das Zeichenzertifikat geändert wurde.

In meinem Problem habe ich LOCAL_CERTIFICATE: = Plattform hinzugefügt. da das original apk ohne dieses tag signiert ist.

Fordreamxin
quelle
Dies ist wirklich ein Kommentar, keine Antwort. Mit etwas mehr Wiederholungen können Sie Kommentare posten .
Enamul Hassan
2

In meinem Fall gab es keine Version der App, die ich über den Geräte-Manager oder Astro finden konnte.

Am Ende habe ich Folgendes getan:

1) Laden Sie die neueste Version der App aus dem App Store herunter

2) Die App war im Geräte-Manager immer noch nicht sichtbar, bis ich mein Gerät neu gestartet habe.

3) Entfernen Sie die App aus dem Geräte-Manager

4) Führen Sie mein Projekt erneut aus

5) Alles funktioniert

Hoffe das hilft jemandem

YKa
quelle
2

C: \ android-sdk \ platform-tools \ adb.exe: Befehl mit Exit-Code 1 fehlgeschlagen

Fehlerausgabe: adb: Installation von app \ platform \ android \ app \ build \ output \ apk \ debug \ app-debug.apk fehlgeschlagen: Fehler [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Paket com.example. app1Signaturen stimmen nicht mit der zuvor installierten Version überein. ignorieren!]

Lösung:

Sie haben die App bereits app1auf dem Telefon installiert (meistens von der Spielekonsole herunterladen oder der Upload-Schlüssel wird geändert).
Deinstallieren Sie die App.

Mehr Details:

Es ist möglich, dass Sie diese App bereits mit dem Upload-Schlüssel in den Play Store hochgeladen haben. Die Play Console hat eine eigene Signatur darauf angewendet. Aus diesem Grund hat die von Google Play heruntergeladene App auf Ihrem Telefon nicht dieselbe Signatur wie Ihr Upload-Schlüssel.

Wenn Sie die App deinstallieren, gibt es keine Play Store-Version der App. Daher stimmt dies nicht überein, wenn Sie eine neue Version auf Ihrem Telefon installieren.

Hoffentlich hilft das.

Manohar Reddy Poreddy
quelle
1

Gehen Sie zu Einstellungen / Apps / Suchen Sie nach Ihrer App und deinstallieren Sie ...

Es hat bei mir funktioniert

Luis Colomé
quelle
1
  1. Gehen Sie zu Einstellungen / Apps / Suchen Sie nach Ihrer App und deinstallieren Sie ...
  2. Öffnen Sie die Eingabeaufforderung und "adb deinstallieren"

Es hat bei mir funktioniert

jettimadhuChowdary
quelle
1

Aktivieren Sie für MIUI-Benutzer neben den üblichen USB-Debugging-Optionen auch die folgenden Einstellungen:

Installation über USB
USB-Debugging (Sicherheitseinstellungen)

Akzeptieren Sie dann die Eingabeaufforderung, wenn Sie erneut versuchen, die App zu installieren.

Stevyhacker
quelle
1

Ich habe das gleiche Problem und habe die folgenden Schritte ausgeführt, um es zu beheben.

  1. Einstellungen> Speicher> Zwischengespeicherte Daten löschen
  2. Einstellungen> Apps> Deinstallieren Sie die dort angezeigten Apps. Ich hatte meine Apps deinstalliert, aber sie wurden dort angezeigt.
  3. Neustart und dann ging alles gut.
Pankaj
quelle
3
Der 2. Punkt hat geholfen. In meinem Fall wurde die App nicht für den aktuellen Benutzer installiert, sondern für andere Benutzer. Also habe ich auf die App in der Apps-Liste geklickt und auf der Detailseite auf die Schaltfläche Mehr (drei vertikale Punkte) geklickt. Dort gab es die Option "Für alle Benutzer deinstallieren". Das hat es für mich getan. Vielen Dank!
Harisewak
1

Ich habe gerade eine Stunde damit verbracht, dies zu debuggen, und dann festgestellt, dass ich mit meinem Emulator anstelle meines Telefons verbunden war. Obwohl ich die App auf meinem Handy erfolgreich gelöscht hatte, schlug sie dennoch fehl. Dummer Fehler, aber vielleicht hilft das jemand anderem.

Adam Katz
quelle
0

In meinem Fall habe ich Application aus dem Playstore installiert und danach, wenn ich versuche, aus Eclipse oder Android Studio auszuführen , wird versucht, es erneut auf dieser APK zu installieren, die dies nicht zulässt.

Also zuerst müssen Sie diese Siged APK deinstallieren und danach müssen Sie es versuchen.

Danke dir.

Pratik Butani
quelle
0

RankoR @ Sie müssen die Anwendung von einem anderen Computer installiert haben. In meinem Fall ist dort das Problem aufgetreten. Sie müssen lediglich die Anwendung deinstallieren und neu installieren oder auf dem Computer ausführen, auf dem Sie arbeiten. Dies ist möglicherweise eine späte Antwort, hilft aber jemandem. Danke

Mohammed Nathar
quelle
0

Es ist mir passiert, als ich einen Entwickler-Build mit Instant Run installiert und von Google Play deinstalliert habe. Aus irgendeinem Grund befinden sich die Daten von Instant Run noch auf dem Gerät und können die App nicht erneut installieren / deinstallieren.

Einzige Möglichkeit, dies zu beheben: - Sofortige Ausführung in Android Studio deaktivieren - Installation von Android Studio (sollte nur von hier aus funktionieren) - App deinstallieren

Jetzt sollte es sauber sein, von Google Play oder adb zu installieren.

Ignacio Tomas Crespo
quelle
0

Es ist aufgetreten, wenn Sie Ihre apk von einem anderen PC aus erstellen und von einem anderen PC aus aktualisieren.

Prashant Jajal
quelle
Was ist die Lösung für diesen Fall?
Dpaksoni
0

Wenn Ihre Manifest-Datei diese Zeile enthält -

android: sharedUserId = "android.uid.system"

verursacht diesen Fehler! Kommentieren Sie einfach diese Zeile und Sie können loslegen !!

Leben gestalten
quelle
0

Ich sehe niemanden, der meinen Fall erwähnt. Lassen Sie mich ihn hinzufügen. Dies geschieht, wenn Sie die App in einem Modus (z. B. Dev) erstellen und dann versuchen, sie in einem anderen Modus (z. B. Produktion) zu überschreiben.

Die Lösung ist dieselbe wie in den anderen Fällen - löschen Sie die App auf dem Gerät / Simulator und führen Sie sie erneut aus.

Andrija
quelle
0

Wenn Sie versuchen, von einem anderen Computer als ursprünglich zu debuggen, wird der gefürchtete Fehler INSTALL_FAILED_UPDATE_INCOMPATIBLE angezeigt. Jedoch, gibt jedoch eine Möglichkeit, fortzufahren, ohne die App zu deinstallieren und Ihre Daten zu verlieren.

Um zu sehen, wie der erforderliche debug.keystore übertragen wird, wird nicht die Meldung "Das Gerät verfügt bereits über eine Anwendung mit derselben Anwendung, aber einer anderen Signatur. Um fortzufahren, müssen Sie die vorhandene Anwendung deinstallieren." (und verlieren Sie Ihre Daten). Siehe Aktualisieren der App auf einem anderen Computer mit demselben debug.keystore in Android

Paul Effrem
quelle
0

Samsung Galaxy Phones verfügt über eine Funktion, die als sicherer Ordner bekannt ist App zum Entfernen Das Problem wurde für mich gelöst.

auch adb deinstallieren paketname kann App nicht aus sicherem Ordner entfernen.

Saeed Arianmanesh
quelle