webentwicklung-frage-antwort-db.com.de

Android App nicht installiert. Ein vorhandenes Paket mit demselben Namen mit einer widersprüchlichen Signatur ist bereits installiert

In meinem Emulator, wenn ich versuche, ein Upgrade meiner apk programmgesteuert durchzuführen. Ich bekomme:

Android App Not Install.

An existing package by the same name with a conflicting signature is already installed

enter image description here

Ich befinde mich noch in der Testphase dieses Upgrades. Die heruntergeladene Datei ist daher eine signierte apk einer früheren Version, die meines Erachtens ohne Probleme funktionieren sollte. 

Aus dem Vorschlag in: Ein vorhandenes gleichnamiges Paket mit einer Konfessionssignatur ist bereits installiert Ich habe versucht, den Emulator sowohl im Debug-Modus als auch im Normalmodus auszuführen ... weder funktionierte. 

Irgendwelche Gedanken zu dem, was mir fehlt?

115
James Oravec

Das Problem sind die Schlüssel, die zum Signieren der APKs verwendet wurden. Wenn Sie direkt von Ihrem IDE aus arbeiten und Ihren Emulator öffnen, wird der im Emulator installierte APK standardmäßig mit Ihrem Debug-Schlüssel (normalerweise in installiert) signiert ~/.Android/debug.keystore). Wenn also der vorherige APK mit einem anderen als dem aktuell verwendeten Schlüssel signiert wurde, werden Sie immer den Signaturkonflikt erhalten. Um ihn zu beheben, stellen Sie sicher, dass Sie den sehr Gleicher Schlüssel zum Signieren beider APKs. Selbst wenn der vorherige APK mit einem Debug-Schlüssel eines anderen SDKs signiert wurde, unterscheiden sich die Schlüssel definitiv.

Wenn Sie nicht genau wissen, welcher Schlüssel zuvor zum Signieren der apk verwendet wurde und Sie dennoch die neue Version Ihrer App installieren möchten, können Sie einfach die vorherige Anwendung deinstallieren und die neue Version erneut installieren.

Hoffe das hilft...

Grüße!

84
Martin Cazares

Ich hatte die gleiche Fehlermeldung, aber diese Antworten haben nicht geholfen. Bei einem 4.3 Nexus 7 habe ich einen Benutzer verwendet, der NICHT der Besitzer war. Ich hatte die ältere Version deinstalliert, erhielt jedoch die gleiche Meldung.

Lösung: Ich musste mich als Besitzer anmelden und zu Einstellungen -> Apps gehen und dann auf die Registerkarte Alle wischen. Scrollen Sie bis zum Ende der Liste, wo die alten Versionen mit der Markierung "nicht installiert" aufgeführt sind. Wählen Sie es aus und klicken Sie auf die Schaltfläche "Einstellungen" in der oberen rechten Ecke. Klicken Sie anschließend auf "Alle Benutzer deinstallieren".

191
Αλέκος
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

 enter image description here

Gehen Sie zu Einstellungen> Apps, suchen und öffnen Sie die App-Informationen. Öffnen Sie dann das Überlaufmenü (3 vertikale Punkte) und wählen Sie für alle Benutzer die Option Deinstallieren.

6
Keshav Gera

Wenn Sie sich nicht mit der Keystore-Datei beschäftigen möchten, entfernen Sie einfach das gesamte Paket für alle Benutzer.

Verbinden Sie Ihr Gerät mit Mac/PC und führen Sie adb uninstall <package> aus.

Arbeitete für mich.

Ref: https://Android.stackexchange.com/questions/92025/how-to-completely-uninstall-an-app-on-Android-Lollipop

5
Avijit

Es besteht ein Unterschied zwischen signierten und unsignierten APK-Dateien. Höchstwahrscheinlich hatten Sie dort zuvor einen Unterzeichner. Sie müssen nur das vorzeichenlose löschen, bevor Sie die signierte Version installieren. Wie dies erreicht werden kann, hängt von der genauen Version ab, aber im Allgemeinen gehen Sie im Emulator zu Einstellungen-> Anwendung, klicken Sie lange auf Ihre App und löschen/entfernen/deinstallieren Sie sie.

5
PearsonArtPhoto

Wenn Sie das Debug-Apk verwenden, befindet sich der Schlüssel, der zum Signieren verwendet wird, in 

C:\Users\<user>\.Android\debug.keystore

Wenn Sie denselben Schlüssel verwenden, sollte bei der Installation kein Konflikt auftreten. 

4
Santiago

Wenn Sie bei Android mehrere Benutzer verwenden, stellen Sie sicher, dass die App überall deinstalliert wird. 

2
Martin Koubek

Ich hatte ein Problem, bei dem der Debug- und Release-Build nicht auf Geräten installiert werden konnte, die zum Debuggen verwendet wurden. Die gleiche Meldung erscheint, wenn Sie versuchen, die neue Version zu installieren. Die einzige Problemumgehung bestand darin, die aktuelle Version zu deinstallieren und die neue zu installieren.

Es sieht so aus, als würde Android Studio die installierte APK markieren, so dass bei der Installation mit den Paketmanagern zwischen der für das Debugging installierten Version und den von Google Play oder anderen externen Quellen heruntergeladenen Versionen unterschieden wurde (dies ist mir bei der Verwendung von Eclipse nicht passiert).

1
FunkSoulBrother

Ich habe alles versucht und es hat nicht funktioniert.

Ich habe festgestellt, dass trotz Deinstallation der App eine neue Version der App immer noch den gleichen Fehler liefert.

Dies ist, was es gelöst hat: gehen Sie zu Einstellungen -> Allgemein -> Anwendungsmanager -> wählen Sie Ihre App -> klicken Sie auf die drei Punkte oben -> deinstallieren Sie für alle Benutzer

Sobald Sie dies tun, wird es nun tatsächlich deinstalliert und ermöglicht nun die Installation Ihrer neuen Version.

Hoffe das hilft.

0
FelixFelicis

Gleicher Paketfehler:

  1. Erstellen Sie in Ihrer App ein neues Paket mit einem anderen Namen.
  2. Kopieren Sie die gesamte Datei in Ihrem alten Paket und fügen Sie sie in das neue Paket ein.
  3. Code speichern.
  4. Löschen Sie das alte Paket und bereinigen Sie das Projekt.
0
VIJAY RAVAL

Wenn die oben genannten Lösungen für Sie nicht funktioniert haben, müssen Sie möglicherweise Folgendes tun:.

1) Installieren Sie die App aus dem Appstore.
2) Aktualisieren Sie es mit Sign APK mit dem gleichen Paketnamen aktualisierte Version.

Es gibt also grundsätzlich zwei Arten von APKs.

1) Du hast im Playstore die Original-APK hochgeladen.
2) Herunterladen aus dem Playstore als abgeleitete APK bekannt.

In diesem Fall lädst du grundsätzlich abgeleitete APK herunter und aktualisierst sie mit der Original-APK.

Damit es funktioniert, laden Sie das neu signierte APK im internen Testmodus im Google Play Store hoch und laden Sie das abgeleitete APK herunter, um das Aktualisierungsszenario zu überprüfen.

 enter image description here 

0

Es gibt möglicherweise einen anderen Grund, warum Ihre Anwendung nicht aktualisiert wird, wenn Sie shareId in AndroidManifiest ändern, hinzufügen oder entfernen.

"Android: sharedUserId"

Bitte überprüfen Sie auch das. 

Um dies zu verhindern, wird empfohlen, sharedUserId in Ihrer Anwendung zu verwenden, obwohl Sie dies jetzt oder jetzt benötigen.

0

 enter image description here Ich musste mich als Besitzer anmelden und zu Einstellungen -> Apps gehen und dann zur Registerkarte Alle wischen. Scrollen Sie bis zum Ende der Liste, wo die alten Versionen mit der Markierung "nicht installiert" aufgeführt sind. Wählen Sie es aus und klicken Sie auf die Schaltfläche "Einstellungen" in der oberen rechten Ecke. Klicken Sie anschließend auf "Alle Benutzer deinstallieren".

0
Ashish Kumar

Es kann sein, dass die Anwendung nicht erfolgreich deinstalliert wurde. Wenn sich Ihr Gerät in diesem Fall befindet, können Sie diese Methode ausprobieren. 

Rufen Sie zuerst den Paketnamen der Anwendung ab, z. B. "com.xxx.app". Sie können den Root-Explorer verwenden und ihn aus der Manifest-Datei finden (RE kann die Datei decodieren). Dann können Sie dieses Skript verwenden, um es zu deinstallieren:

adb Shell pm uninstall com.xxx.app // replace to package name that you want to remove
0
twiceYuan