Fehler [INSTALL_FAILED_ALREADY_EXISTS] beim Versuch, meine Anwendung zu aktualisieren


388

Wenn ich versucht habe, meine Anwendung mit einer neuen Version zu aktualisieren, die dieselbe Signatur wie die vorherige hat, wird der obige Fehler angezeigt.

Was fehlt mir?

Antworten:


756

Wenn Sie die Anwendung über auf Ihrem Gerät adb installinstallieren, sollten Sie nach der Option für die Neuinstallation suchen -r. Wenn Sie dies tun adb install -r, sollten Sie in der Lage sein, ohne vorherige Deinstallation zu installieren.


1
adb install -rfunktioniert nicht immer (ich habe einen EVO 4G von Sprint, der sich nicht wie erwartet verhält). Die einzige Lösung, die ich gefunden habe, besteht darin, die Anwendung manuell zu entfernen. Manchmal muss ich es sogar über die Benutzeroberfläche des Telefons tun, weil die EVO so temperamentvoll ist.
JWW

21
Ich bin hierher gekommen, weil ich wissen wollte, ob ich adb install -rmeine App zuerst entfernen und dann installieren oder aktualisieren möchte. Obwohl adbdie Beschreibung nicht sehr klar ist ( -r: vorhandene Anwendung ersetzen ), adb install -rwird Ihre App tatsächlich aktualisiert und Ihre App-Daten werden nicht entfernt. Daher geeignet, um das Upgrade Ihrer App zu testen (das sind die Informationen, nach denen ich gesucht habe).
Thibault D.

8
Personen, die behaupten, dass adb install -rdies nicht funktioniert: Ich denke, dass die .apkDatei, die Sie installieren möchten, nicht mit demselben Entwicklerzertifikat signiert wurde wie die .apkauf dem Gerät installierte Datei. Dies ist leicht möglich, wenn Sie eine Debug-App installiert haben und dann versuchen, die Release-App zu installieren, oder umgekehrt. Sie können eine Anwendung nicht aktualisieren, wenn sie nicht mit demselben Zertifikat signiert ist.
Thibault D.

1
Wenn Sie mehrere Konten verwenden, müssen Sie möglicherweise alle Konten deinstallieren (siehe Antwort von GregP). Das hat bei mir funktioniert, nachdem ich das getan habe.
JD Sandifer

funktioniert nicht, meine App ist eine System-App, und dies löst mein Problem nicht: /
htafoya

11

Sie erhalten diesen Fehler, weil bereits eine Anwendung mit einem Paketnamen vorhanden ist, der mit Ihrer Anwendung identisch ist. Wenn Sie sicher sind, dass Sie nicht dieselbe Anwendung zuvor installiert haben, ändern Sie den Paketnamen und versuchen Sie es.

Andernfalls können Sie Folgendes tun:

  1. Deinstallieren Sie die Anwendung vom Gerät: Gehen Sie zu Einstellungen -> Anwendungen verwalten und wählen Sie Deinstallieren ODER
  2. Deinstallieren Sie die App über die ADB-Befehlszeilenschnittstelle: Geben Sie adb uninstall ein. Versuchen Sie nach Abschluss dieses Schritts erneut, die Anwendung zu installieren.

Meine App wurde nicht im Menü oder im App Store angezeigt - aber dank Mohammeds Tipps gefunden.
DavidP

2
Dies ist keine gute Lösung. Was ist, wenn Sie eine Reihe von Status wie SharedPrefs in der App gespeichert haben? Wenn Sie hart vom System deinstallieren, müssen Sie Ihre App erneut konfigurieren!
Igor Ganapolsky

Dies war die Lösung, die ich brauchte, adb uninstall my.package . Seltsamerweise wurden die Einstellungen, die ich entfernen wollte, nicht deinstalliert, aber das Paket wurde entfernt, was mich daran hinderte, es erneut zu installieren.
JMD

6

Dies kann bedeuten, dass die Anwendung bereits für einen anderen Benutzer auf Ihrem Gerät installiert ist. Benutzer teilen Anwendungen. Ich weiß nicht warum, aber sie tun es. Wenn also ein Benutzer aktualisiert, wird eine Anwendung auch für den anderen Benutzer aktualisiert. Wenn Sie eine App deinstallieren, wird die App auf der anderen Seite nicht vom System entfernt.


Das war mein genaues Problem! Es wurde versucht, das Programm zu deinstallieren - sowohl mit adb als auch manuell, aber es schlug adb install <package.apk>immer wieder fehl, obwohl die App in der App-Liste nicht mehr sichtbar war. Es stellte sich heraus, dass es auf dem anderen Konto auf meinem Gerät noch vorhanden war ... Danke!
JD Sandifer

Das hat es auch für mich behoben. Um Informationen zu einem Gerät zu erhalten, das für alle Benutzer deinstalliert werden soll, musste ich zu Einstellungen> Apps gehen. Tippen Sie auf die App, tippen Sie auf die Ellipsen oben rechts und tippen Sie auf Für alle Benutzer deinstallieren.
d219

3

Installieren

adb install -r exampleApp.apk

(Das -r Dadurch wird die vorhandene Kopie ersetzt. Fügen Sie eine hinzu, -swenn Sie sie auf einem Emulator installieren.)

Stellen Sie sicher, dass die App gleich signiert ist und dieselbe debug/releaseVariante hat

Bonus

Ich habe in meinem einen Alias ​​eingerichtet ~/.bash_profile, um daraus einen 2char-Befehl zu machen.

alias bi="gradlew && adb install -r exampleApp.apk"

(Abkürzung für Build and Install)


0

Wenn Sie immer noch Probleme haben, versuchen Sie, die Anwendung über die Eingabeaufforderung zu deinstallieren. adb uninstall com.example.yourpackagename Fügen Sie einfach den Befehl hinzu und versuchen Sie erneut, ihn erneut zu installieren. Es funktioniert!


0

Bei meinem Android 5-Tablet wird jedes Mal, wenn ich versuche, mit adb eine signierte Release-Apk zu installieren, die [INSTALL_FAILED_ALREADY_EXISTS]Fehlermeldung angezeigt .

Ich muss zuerst das Debug-Paket deinstallieren. Ich kann jedoch nicht mit dem Application Manager des Geräts deinstallieren !

Wenn Sie die Debug-Version mit dem Anwendungsmanager deinstallieren , muss ich die Debug-Build-Variante von Android Studio erneut ausführen und sie dann mit deinstallierenadb uninstall com.example.mypackagename

Schließlich kann ich verwenden adb install myApp.apk, um die signierte Version apk zu installieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.