Errore [INSTALL_FAILED_ALREADY_EXISTS] quando ho provato ad aggiornare la mia applicazione


388

quando ho provato ad aggiornare la mia applicazione con una nuova versione che ha la stessa firma della precedente, mostra l'errore sopra.

Cosa mi manca

Risposte:


756

Se installi l'applicazione sul tuo dispositivo tramite adb installdovresti cercare l'opzione di reinstallazione che dovrebbe essere -r. Quindi, se lo fai adb install -rdovresti essere in grado di installare senza disinstallare prima.


1
adb install -rnon funziona sempre (ho uno EVO 4G di Sprint che rifiuta di comportarsi come previsto). L'unica soluzione che ho trovato è rimuovere l'applicazione manualmente. A volte, devo persino farlo attraverso l'interfaccia utente del telefono perché EVO è così temperamentale.
jww

21
Sono venuto qui perché volevo sapere se adb install -rrimuovere prima e quindi installare o aggiornare la mia app. Sebbene adbla descrizione non sia molto chiara ( -r: sostituisce l'applicazione esistente ), adb install -raggiorna effettivamente la tua app e non rimuove i dati della tua app. Pertanto adatto per testare l'aggiornamento della tua app (che è l'informazione che stavo cercando).
Thibault D.

8
Per le persone che dichiarano di adb install -rnon funzionare: suppongo che il .apkfile che si sta tentando di installare non sia stato firmato con lo stesso certificato di sviluppatore del .apkfile installato sul dispositivo. Succede facilmente se hai installato un'app di debug e stai provando a installare l'app di rilascio o viceversa. Non è possibile aggiornare un'applicazione se non è firmata con lo stesso certificato.
Thibault D.

1
Se si utilizzano più account, potrebbe essere necessario disinstallare da tutti gli account (vedere la risposta di GregP). Questo ha funzionato per me dopo averlo fatto.
JD Sandifer,

non funziona, la mia app è un'app di sistema e questo non risolve il mio problema: /
htafoya

11

Viene visualizzato questo errore perché esiste già un'applicazione con un nome pacchetto uguale all'applicazione. Se sei sicuro di non aver installato la stessa applicazione prima, modifica il nome del pacchetto e prova.

Altrimenti, ecco cosa puoi fare:

  1. Disinstallare l'applicazione dal dispositivo: vai su Impostazioni -> Gestisci applicazioni e scegli Disinstalla O
  2. Disinstallare l'app utilizzando l'interfaccia della riga di comando di adb: digitare adb uninstall Dopo aver completato questo passaggio, provare a installare nuovamente l'applicazione.

La mia app non compariva nel menu o nell'app store, ma l'ho trovata grazie ai suggerimenti di Maometto.
David,

2
Questa non è una buona soluzione. E se hai un gruppo di stati come SharedPrefs salvato nell'app? Se esegui una disinstallazione definitiva dal sistema, dovrai riconfigurare nuovamente l'app!
IgorGanapolsky,

Questa era la soluzione che mi serviva, adb uninstall my.package. Stranamente, non ha disinstallato le preferenze che volevo rimuovere, ma si è sbarazzato del pacchetto, che era la cosa che mi stava impedendo di reinstallarlo.
JMD,

6

Potrebbe significare che l'applicazione è già installata per un altro utente sul dispositivo. Gli utenti condividono le applicazioni. Non so perché lo facciano, ma lo fanno. Quindi se un utente aggiorna un'applicazione viene aggiornata anche per l'altro utente. Se si disinstalla su uno, non rimuove l'app dal sistema dall'altro.


Questo è stato il mio problema esatto! Ho continuato a provare a disinstallare, sia con adb che manualmente, ma adb install <package.apk>continuava a fallire anche se l'app non era più visibile nell'elenco delle app. Si scopre che era ancora lì sull'altro account sul mio dispositivo ... Grazie!
JD Sandifer,

Questo ha risolto anche per me. Per informazioni su un dispositivo da disinstallare per tutti gli utenti ho dovuto andare su Impostazioni> App toccare l'app, toccare i puntini di sospensione in alto a destra e toccare Disinstalla per tutti gli utenti.
d219

3

Installare

adb install -r exampleApp.apk

(Lo -rfa sostituire la copia esistente, aggiungere un -sse l'installazione su un emulatore)

Assicurati che l'app sia firmata allo stesso modo e abbia la stessa debug/releasevariante

indennità

Ho impostato un alias nel mio ~/.bash_profile, per renderlo un comando 2char.

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

(Abbreviazione di Build and Install)


0

Se il problema persiste, prova a disinstallare l'applicazione utilizzando il prompt dei comandi. basta aggiungere il comando, adb uninstall com.example.yourpackagename quindi provare a reinstallare di nuovo. Funziona!


0

Con il mio tablet Android 5, ogni volta che tento di utilizzare adb, per installare un apk di versione firmato, ottengo l' [INSTALL_FAILED_ALREADY_EXISTS]errore.

Devo prima disinstallare il pacchetto di debug. Ma non riesco a disinstallare usando Application Manager del dispositivo !

In tal caso, disinstallare la versione di debug con Application Manager , devo rieseguire la variante di build del debug da Android Studio, quindi disinstallarla utilizzandoadb uninstall com.example.mypackagename

Infine, posso usare adb install myApp.apkper installare l'apk di rilascio firmato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.