Wenn ich in meinem Emulator versuche, programmgesteuert ein Upgrade meiner apk durchzuführen. Ich bekomme:
Android App Not Install.
An existing package by the same name with a conflicting signature is already installed
Ich bin noch in der Testphase dieses Upgrades, daher ist die Datei, die ich herunterlade, eine signierte Apk einer früheren Version, die meiner Meinung nach ohne Probleme funktionieren sollte.
Aus dem Vorschlag in: Ein vorhandenes Paket mit demselben Namen und einer konfilzierenden Signatur ist bereits installiert. Ich habe versucht, den Emulator sowohl im Debug-Modus als auch im normalen Modus auszuführen. Beides hat nicht funktioniert.
Irgendwelche Gedanken darüber, was mir fehlt?
android
android-install-apk
James Oravec
quelle
quelle
Antworten:
Das Problem sind die Schlüssel, die zum Signieren der APKs verwendet wurden. Wenn Sie direkt von Ihrer IDE aus arbeiten und Ihren Emulator öffnen, wird die im Emulator installierte APK standardmäßig mit Ihrem Debug-Schlüssel signiert (normalerweise in ~ / .android installiert) /debug.keystore). Wenn also die vorherige APK mit einem anderen als dem aktuell verwendeten Schlüssel signiert wurde, wird immer der Signaturkonflikt angezeigt. Um dies zu beheben, stellen Sie sicher, dass Sie zum Signieren denselben Schlüssel verwenden Beide APKs, auch wenn die vorherige APK mit einem Debug-Schlüssel von einem anderen SDK signiert wurde, sind die Schlüssel definitiv unterschiedlich.
Auch 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 neu installieren.
Hoffe das hilft...
Grüße!
quelle
Ich hatte die gleiche Fehlermeldung, aber diese Antworten haben nicht geholfen. Auf einem 4.3 Nexus 7 habe ich einen Benutzer verwendet, der NICHT der Besitzer war. Ich hatte die ältere Version deinstalliert, bekam aber immer wieder die gleiche Meldung.
Lösung: Ich musste mich als Eigentümer anmelden und zu Einstellungen -> Apps gehen und dann zur Registerkarte Alle wischen. Scrollen Sie bis zum Ende der Liste, in der 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 und schließlich auf "Für alle Benutzer deinstallieren".
quelle
Gehen Sie zu Einstellungen> Apps, suchen Sie die App-Informationen und öffnen Sie sie. Öffnen Sie dann das Überlaufmenü (3 vertikale Punkte) und wählen Sie für alle Benutzer deinstallieren.
quelle
Wenn Sie sich nicht mit der Keystore-Datei beschäftigen möchten, entfernen Sie das Paket für alle Benutzer.
Verbinden Sie Ihr Gerät mit Mac / PC und führen Sie es aus
adb uninstall <package>
Hat für mich gearbeitet.
Ref: /android/92025/how-to-completely-uninstall-an-app-on-android-lollipop
quelle
Es gibt einen Unterschied zwischen signierten und nicht signierten APK-Dateien. Höchstwahrscheinlich hatten Sie dort zuvor einen unsignierten. Sie müssen nur die nicht signierte Version löschen, bevor Sie die signierte Version installieren. Wie dies erreicht werden kann, hängt von der genauen Version ab. Im Allgemeinen gehen Sie im Emulator zu Einstellungen-> Anwendung, klicken Sie lange auf Ihre App und löschen / entfernen / deinstallieren Sie sie.
quelle
app not installed
. Ich habe die Emulatoreinstellungen überprüft und es wurdeAllow installation of apps from unknown sources
überprüft. Dies scheint also nicht die Lösung zu sein.Wenn Sie das Debug-Apk verwenden, ist der Schlüssel, mit dem es angemeldet wird, angemeldet
Wenn Sie denselben Schlüssel verwenden, sollte bei der Installation kein Konflikt auftreten.
quelle
Wenn die oben genannten Lösungen bei Ihnen nicht funktioniert haben, müssen Sie möglicherweise Folgendes tun:
1) Installieren der App aus dem Appstore.
2) Aktualisieren mit sign APK mit dem gleichen Paketnamen aktualisierte Version.
Grundsätzlich gibt es also zwei Arten von APKs.
1) Sie haben im Playstore hochgeladen, der als Original-APK bekannt ist.
2) Download aus dem Playstore als abgeleitete APK bekannt.
In diesem Fall laden Sie im Grunde genommen abgeleitete apk herunter und aktualisieren sie mit der ursprünglichen APK.
Damit es gut funktioniert, haben Sie eine neu signierte, freigegebene APK im internen Testmodus im Google Play Store hochgeladen und die abgeleitete APK heruntergeladen, um das Aktualisierungsszenario zu überprüfen.
quelle
Wenn Sie mehrere Benutzer bei Android verwenden, stellen Sie sicher, dass die App überall deinstalliert ist.
quelle
Ich hatte ein Problem, bei dem sowohl Debug- als auch Release-Build nicht auf Geräten installiert werden konnten, die ich zum Debuggen verwendet habe. Die gleiche Meldung wird angezeigt, 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 ob Android Studio die installierte apk markiert, sodass bei der Installation mit den Paketmanagern zwischen der zum Debuggen installierten Version und den von Google Play oder anderen externen Quellen heruntergeladenen Versionen unterschieden werden kann (dies ist mir bei der Verwendung von Eclipse nie passiert).
quelle
Möglicherweise ist die Anwendung nicht erfolgreich deinstalliert. In diesem Fall können Sie diese Methode ausprobieren.
Holen Sie sich zuerst den Paketnamen der Anwendung, z. B. 'com.xxx.app'. Sie können den Root-Explorer verwenden und ihn aus der Manifest-Datei suchen (RE kann die Datei dekodieren). Dann können Sie dieses Skript verwenden, um es zu deinstallieren:
quelle
Gleicher Paketfehler:
quelle
Ich musste mich als Eigentümer anmelden und zu Einstellungen -> Apps gehen und dann zur Registerkarte Alle wischen. Scrollen Sie bis zum Ende der Liste, in der 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 und schließlich auf "Für alle Benutzer deinstallieren".
quelle
Es kann einen anderen Grund geben, warum Ihre Anwendung nicht aktualisiert wird, wenn Sie die shareId in AndroidManifiest ändern / hinzufügen / entfernen.
"android: sharedUserId"
Bitte überprüfen Sie das auch.
Um dies zu verhindern, wird empfohlen, sharedUserId in Ihrer Anwendung zu verwenden, obwohl Sie dies derzeit oder jetzt benötigen.
quelle
Ich habe alles versucht und es hat nicht funktioniert.
Ich habe festgestellt, dass trotz der Deinstallation der App eine neue Version der App immer noch den gleichen Fehler liefert.
Dies hat das Problem gelöst: Gehen Sie zu Einstellungen -> Allgemein -> Anwendungsmanager -> wählen Sie Ihre App aus -> klicken Sie auf die drei Punkte oben -> Deinstallieren Sie für alle Benutzer
Sobald Sie dies getan haben, wird es tatsächlich deinstalliert und ermöglicht nun die Installation Ihrer neuen Version.
Hoffe das hilft.
quelle