Errore [INSTALL_FAILED_UPDATE_INCOMPATIBLE] anche se l'app sembra non essere installata


206

Quando provo a distribuire la mia app sul dispositivo Android, visualizzo il seguente errore:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Sono a conoscenza di questa domanda ma l'app non è installata. È stato rimosso / parzialmente rimosso da Visual Studio durante il tentativo di distribuzione.

In passato l'ho risolto scaricando l'app dal Google Play Store e rimuovendola dalle impostazioni-> Gestione applicazioni. Tuttavia, ora viene visualizzato l'errore "aggiornamento incompatibile" quando si tenta di installarlo.

Ho provato a rimuoverlo usando Titanium Backup e poche altre cose, ma senza fortuna.

MODIFICA 1

Mi sono reso conto (da @Motz) di non aver menzionato che la soluzione ovvia non funziona. Vale a dire, l'app non appare in Impostazioni-> App


Quale versione installata sul tuo dispositivo?
Haresh Chhelana,

Può accadere se l'app richiede una versione minima dell'SDK superiore alla versione del sistema operativo del dispositivo.
Haresh Chhelana,

Controlla logcatulteriori indizi quando tenti di installare l'app. Dovrebbe esserci una voce di registro con maggiori dettagli sul perché non funziona.
Jeff Mixon,

Quale versione di Android è il tuo telefono?
Darpan,

La mia versione di Android è 4.4.2. L'SDK minimo va bene perché ho installato l'app prima e perché l'ho controllata.
YKa,

Risposte:


565

L'ho visto diverse volte. Di solito è dovuto avere una versione di rilascio firmata sul mio telefono, quindi provare a distribuire la versione di debug in cima. Si blocca in uno stato non valido in cui non è completamente disinstallato.

La soluzione che funziona per me è aprire un prompt dei comandi e digitare:

adb uninstall my.package.id

Questo di solito completa la disinstallazione per consentirmi di continuare lo sviluppo.

In bocca al lupo!


1
Questo ha funzionato per me quando il riavvio e la disinstallazione dell'app no.
Aggressor

26
Stackoverflow dovrebbe avere un elenco per le risposte preferite. Questo pezzo di stregoneria funziona come un incantesimo.
Josh,

2
Se si utilizza un dispositivo Android per il test e se si installa l'app in un altro computer, quindi si tenta di installare nel computer in uso, verrà visualizzato questo errore. Questa soluzione funziona.
SajithK,

Mi hai salvato la giornata ... C'era una versione corrotta dell'app installata in Application Manager (non viene visualizzata nella sezione app). Volevo disinstallarlo prima di distribuirlo
Anees Deen il

1
Dio benedica StackOverflow e lei, signore, per aver risolto i problemi che Xamarin dovrebbe affrontare: \
Eric Wu,

79

Non c'è bisogno di fare un adb uninstall, basta andare sul tuo settings->appse quindi disinstallare da lì. Vedrai la tua applicazione in grigio.

I problemi di solito hanno a che fare con una versione di rilascio vs debug come @Kiliman annotata qui.


1
Mi dispiace @Motz, è stata in realtà una delle prime cose che ho fatto ma l'app non è in app ... Ho modificato la mia domanda ora
YKa

AGGIORNAMENTO: quando si utilizza Android 5.0 (lollipop) ora funziona anche questo. Viene visualizzata l'app con dimensioni di 0,00 KB e posso quindi disinstallarla facilmente.
YKa

2
Impostazioni> App> disinstallazione non funziona sempre. A volte ci sono problemi con più profili utente e non vengono disinstallati per tutti gli utenti. Oppure l'app è stata disinstallata a metà in cattivo stato. adb uninstallprenderebbe di quegli scenari.
Wisbucky

Questo non è sempre vero. Spesso l'ho fatto in passato e ha funzionato perfettamente. Ma oggi la mia app non era semplicemente lì. E non era nemmeno alla fine dell'elenco delle applicazioni (a volte è necessario disinstallare per tutti gli utenti anziché semplicemente disinstallare per l'utente corrente). adb uninstallha funzionato perfettamente.
io--

30

Disinstallare l'applicazione sarebbe sufficiente per evitare questo problema.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

ma a volte anche la disinstallazione del messaggio viene sollevata di nuovo, si verifica in Android OS 5.0+, quindi questa è la soluzione:

Vai a Settings> Appse troverai la tua app con il messaggio:

"Non installato per questo utente"

, dobbiamo disinstallare manualmente per tutti gli utenti con l'opzione:

"Disinstalla per tutti gli utenti"


1
Sì funziona. Dopo un istante per tutti gli utenti, ionic cordova run android --devicefunziona! Tks!
Diego Somar,

10

Devi assicurarti che l'applicazione sia disinstallata.

Nel telefono, prova ad andare a settings/applicationsmostrare l'elenco di tutte le applicazioni installate, quindi assicurati che l'applicazione sia disinstallata per tutti gli utenti (nel mio caso avevo disinstallato l'applicazione ma ancora per altri).


5

Di solito ho questo problema su dispositivi Android 5.0+ versione. Dal momento che ha account con profili multiutente sugli stessi dispositivi. Ogni app verrà installata come un'istanza separata per tutti gli utenti. Assicurati di disinstallare per tutti gli utenti come sotto screenshot.

inserisci qui la descrizione dell'immagine


5

Ho accidentalmente collegato due dispositivi.

Dopo aver rimosso un dispositivo, l' INSTALL_FAILED_UPDATE_INCOMPATIBLEerrore è andato.


Succede anche se l'emulatore sta funzionando accidentalmente quando non te l'aspettavi
annulla il

2

Disinstallare l'apk (app in uso) dal dispositivo Android e quindi eseguirlo nuovamente.


1

Puoi semplicemente aggiungere un parametro da eseguire, vedi:

Run --> Parameters

In parametri di campo add -cleaninstall

Ora basta eseguire, eseguiranno sempre una pulizia approfondita prima dell'installazione.


1

Ok disinstalla l'app, ma ammettiamo che i dati non devono essere persi? Questo può essere risolto, aggiornando versionCode e versionName e provare l'applicazione in modalità "Rilascio".

Ad esempio, questo è importante quando vogliamo provare la migrazione del nostro database. Possiamo confrontare la nostra applicazione sul Play Store con l'applicazione effettiva non ancora rilasciata.


1

Nel mio caso. Ho installato l'app della versione di rilascio. E dopo aver disinstallato l'app dal mio dispositivo. La cosa funziona bene.


0

Nel mio caso stavo ottenendo questo quando ho cambiato la versione target minima di Android e quando sono tornato a quello originale (quando ho creato il progetto all'inizio). Quindi per quella disinstallazione ha funzionato. Ma quando ho cambiato la mia versione Android con l'ultima, la stavo ottenendo di nuovo. Per risolvere il problema, sono andato alle proprietà del progetto Android e nella sezione manifest di Android ho aggiunto un nome di pacchetto, ad esempio com.dotnetdreamer.net. Se hai già un nome di pacchetto, puoi semplicemente rinominarlo in qualcos'altro.


Ho modificato la "Versione build di destinazione" della mia applicazione da 4.4.2 a 5.0.1. Ora non riesco ad aggiornare l'ultima versione della mia app rispetto alla versione precedentemente rilasciata firmata con la stessa chiave. Potete fornire qualsiasi URL che spieghi / discuti questo problema in quanto ho bisogno di condividerlo con i miei clienti. Sto usando eclipse e ho anche provato a risolvere questo problema a modo tuo, ma non riesco a trovare la sezione "Manifest Android" all'interno delle proprietà del progetto. Potete per favore aiutare? Grazie
Abdul Rehman il


0

Elimina tutti i file delle app dal telefono

Per automatizzare la cancellazione di un'app sul telefono è possibile utilizzare i passaggi seguenti. Può essere molto utile eliminare l'app e i dati dell'app in modo rapido e pulito.

Crea un file di testo con questo codice e salvalo come Uninstall.sh. Vai alla cartella (dove l'hai inserito) di questo script nel terminale ed esegui: sh Uninstall.sh YOURNAMESPACE

Ora la tua cartella dello spazio dei nomi (compresi i file di app e il database salvati) verrà eliminata.

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

Elimina tutti i file delle app dal PC

Crea un file di testo con questo codice e salvalo come DeleteBinObj.sh.

find . -iname "bin" -o -iname "obj" | xargs rm -rf

Vai alla cartella del tuo progetto in cui inserisci questo script ed eseguilo nel terminale: sh DeleteBinObj.sh


0

Nel caso questo aiuti qualcuno, ho distribuito la mia app su Google Play, quando l'ho disinstallato e ho provato a eseguire un debug sul mio dispositivo (nuova versione), stavo ricevendo questo messaggio di aggiornamento non riuscito.

L' app non è stata visualizzata sul mio dispositivo (era già disinstallata) quindi ho:

Installata di nuovo la prima versione da Google Play

Impostazioni aperte / Nome app / app

Cancella i dati

Svuota la cache

Disinstallata l'app

Ora puoi distribuire di nuovo la versione di debug sul dispositivo :)


0

Se stai utilizzando il dispositivo Samsung e, per caso, hai contrassegnato l'app per Samsung Knox, devi disinstallarla dall'app My Knox.

La disinstallazione solo dalle app Generali non la disinstallerà dall'app Knox. Deve essere fatto esplicitamente!


0

Utilizzo di Ionic con Cordova tramite riga di comando ...

ionic cordova run android --prod

Mi sono imbattuto in questo e ho scoperto che avevo eliminato la versione di rilascio da una precedente installazione di prova, ma avevo una vecchia versione di debug che era appesa nel cassetto delle app che mi mancava. Ho scollegato il mio dispositivo dal computer, ho aperto il cassetto delle app e usato "Cerca app ..." per trovare tutte le istanze dell'app per disinstallarle. Quindi ho ricollegato il dispositivo al computer e alla viola, ha funzionato!

Grazie per l'aiuto a tutti!


0

Spero che questo possa aiutare qualcuno in futuro, ma semplicemente andare da te config.xml, all'interno del widgettag, cambiare l'id predefinito ( io.ionic.starter) con il tuo ID. Dai un'occhiata a questo per la denominazione dei pacchetti Android.


0

La firma non corrisponde all'APP presente precedente e al nuovo APK

Quindi, per favore, disinstalla l'app precedente e pulisci gradlew e installa di nuovo l'apk

reatt-native run-android

run-ios di reazione nativo


0
  1. Disinstalla l'app dal dispositivo collegato (emulatore o dispositivo mobile)
  2. ottenuto il terminale nella cartella cd android 3 del progetto, eseguilo successivamente ./gradlew cleanpulisci la tua build 4 cd..ed eseguilo sotto 5 react-native run-android
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.