App Android non installata. Un pacchetto esistente con lo stesso nome con una firma in conflitto è già installato


131

Nel mio emulatore, quando provo a fare un aggiornamento del mio apk a livello di codice. Ottengo:

Android App Not Install.

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

inserisci qui la descrizione dell'immagine

Sono ancora nella fase di test di questo aggiornamento, quindi il file che scarico è un apk firmato di una versione precedente, che penso dovrebbe funzionare senza problemi.

Dal suggerimento in: un pacchetto esistente con lo stesso nome con una firma confilcting è già installato Ho provato a eseguire l'emulatore sia in modalità debug che in modalità normale ... né ha funzionato.

Qualche idea su cosa mi sto perdendo?


1
usa la stessa firma per firmare l'apk prima dell'installazione
Praveen Sharma,

Questo problema si genera a causa della mancata corrispondenza della firma o del file Key-store trovare il collegamento per la soluzione: readyandroid.wordpress.com/…
Pronto Android

Risposte:


97

Il problema sono le chiavi utilizzate per firmare gli APK, per impostazione predefinita se si esegue direttamente dall'IDE e si apre l'Emulatore, l'APK installato nell'Emulatore è firmato con la chiave di debug (di solito installata in ~ / .android /debug.keystore), quindi se l'APK precedente è stato firmato con una chiave diversa da quella attualmente in uso, si verificherà sempre il conflitto di firme, al fine di risolverlo, assicurarsi di utilizzare la stessa chiave per firmare entrambi gli APK, anche se l'APK precedente è stato firmato con una chiave di debug da un altro SDK, le chiavi saranno sicuramente diverse.

Inoltre, se non sai esattamente quale chiave è stata utilizzata prima di firmare l'apk e tuttavia desideri installare la nuova versione dell'app, puoi semplicemente disinstallare l'applicazione precedente e reinstallare quella nuova.

Spero che questo ti aiuti...

Saluti!


Ho intenzione di fare un non dev firmare l'apk e fare un download / installazione manuale all'interno dell'emulatore. L'emulatore dovrebbe quindi scaricare l'altro apk non firmato e provare a fare l'aggiornamento. Se funziona, accetterò la tua risposta. Grazie
James Oravec,

@MartinCazares c'è comunque per ottenere la chiave apk? quindi non perdo i dati della mia app?
Heisenberg,

Bene, se hai installato l'app, dovresti avere la chiave, altrimenti come firmeresti l'apk? Se l'apk precedente non è stato creato da te, devi chiedere allo sviluppatore di quell'apk la chiave, a parte questo non c'è modo di ottenere la chiave utilizzata per firmare un apk ...
Martin Cazares

Grazie mille per questo! Mi hai salvato la giornata e la mia squadra! Haha
perozzo,

1
Ho un'applicazione in LIVE nel playstore, ora ho installato quell'app nel dispositivo di test e ora Per aggiornare la versione più recente dell'app sto aggiornando "versionno" e "versionname" nel file build.gradle dell'app. Ora ho realizzato una build di rilascio con chiave firmata, mentre sto provando a installarla con un errore ::: È già installato un pacakage esistente con lo stesso nome con una firma in conflitto. E non viene installato anche. Gentile aiuto.
Tarit Ray,

195

Ho avuto lo stesso messaggio di errore, ma queste risposte non sono state di aiuto. Su un 4.3 Nexus 7, stavo usando un utente che NON era il proprietario. Avevo disinstallato la versione precedente ma continuavo a ricevere lo stesso messaggio.

Soluzione: ho dovuto accedere come proprietario e andare su Impostazioni -> App, quindi scorrere fino alla scheda Tutte. Scorri verso il basso fino alla fine dell'elenco in cui sono elencate le versioni precedenti con un segno "non installato". Selezionalo e premi il pulsante 'Impostazioni' nell'angolo in alto a destra e infine 'disinstalla per tutti gli utenti'


2
Ho dovuto scorrere da "Scaricato" all'elenco "Tutti" per trovarlo nell'elenco delle app.
ShawnFeatherly,

1
Come accennato, assicurati di scorrere fino in fondo: le app "non installate" non sono elencate in ordine alfabetico.
jmcmann,

3
GRAZIE!!! Questo è stato anche il mio problema dopo aver prestato il mio test Nexus 7 ad un amico. Pensavo che le mie chiavi fossero corrotte ... Ho eliminato quell'utente solo per ridurre la confusione futura.
mm2001

1
Mi ha salvato il tempo. Complimenti.
Piyush Patel,

2
Grazie. Ho dovuto accedere a tutti gli utenti e disinstallare 1 per 1.
Ricardo,

8
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

inserisci qui la descrizione dell'immagine

Vai su Impostazioni> App, trova e apri le informazioni sull'app. Quindi, apri il menu di overflow (3 punti verticali) e scegli Disinstalla per tutti gli utenti.


Questo mi ha aiutato - grazie. Per qualche motivo avevo due versioni della mia app che apparivano lì anche dopo averlo disinstallato attraverso la mia schermata principale.
Joro Tenev,

Grazie Joro Tenev mi ha votato
Keshav Gera il


5

C'è una differenza tra i file APK firmati e non firmati. Molto probabilmente hai avuto un unsigned lì prima. Devi solo eliminare il non firmato prima di installare la versione firmata. Il modo in cui ciò può essere fatto varia a seconda della versione esatta, ma in generale, vai sull'emulatore in Impostazioni-> Applicazione, fai clic a lungo sulla tua app ed eliminala / rimuovila / disinstallala.


Farò un apk senza segno e scaricherò l'apk senza segno e vedrò se questo lo risolve, in tal caso posso testare gli apk firmati con hardware. Accetterò la risposta se questo è il caso.
James Oravec,

Sto provando a fare l'aggiornamento dal mio programma, quindi la disinstallazione / installazione manuale non funzionerà.
James Oravec,

Quando ho eseguito l'installazione dell'app non firmata ho semplicemente ricevuto app not installed. Ho controllato le impostazioni dell'emulatore e ha Allow installation of apps from unknown sourcesverificato. Quindi questa non sembra essere la soluzione.
James Oravec,

dandoti un voto positivo per i suggerimenti. Penso che ci abbia aiutato ad arrivare alla soluzione finale. Grazie!
James Oravec,

5

Se si utilizza l'apk di debug, la chiave utilizzata per accedervi è

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

Se si utilizza la stessa chiave, durante l'installazione non dovrebbe verificarsi alcun conflitto.


Grazie mille Santiago, l'ultimo giorno ho cambiato il disco rigido della mia macchina da unità meccanica a unità a stato solido, quindi ho bisogno di aggiornare il mio Windows, ho riscontrato lo stesso problema, quindi ho copiato il file debug.keystore dalla cartella Windows precedente alla nuova cartella Windows il problema viene risolto :)
Arslan Sohail

Grazie per la risposta, poiché in realtà ha risolto il mio problema, sto programmando con un amico e abbiamo avuto questo problema frequentemente, ora che condividiamo la chiave di debug, tutto va bene.
Gustavo Magalhães,

5

Se le soluzioni precedenti non hanno funzionato per te, potresti aver fatto qualcosa come segue.

1) installazione dell'app da Appstore.
2) aggiornandolo con APK di segno con lo stesso nome di pacchetto versione aggiornata.

Quindi sostanzialmente ci sono due tipi se APK.

1) hai caricato su Playstore noto come APK originale.
2) download dal Playstore noto come APK derivato.

In questo caso sostanzialmente stai scaricando l'apk derivato e aggiornandolo con l'APK originale.

Per farlo funzionare correttamente caricato nuovo APK rilasciato firmato nella modalità di test interno su Google Play Store e scarica l'APK derivato per verificare lo scenario di aggiornamento.

inserisci qui la descrizione dell'immagine



1

Ho avuto un problema in cui sia il debug che la build di rilascio non si installano sui dispositivi che ho usato per il debug. Lo stesso messaggio appare quando si tenta di installare la nuova versione. L'unica soluzione era disinstallare la versione corrente e installare quella nuova.

Sembra che Android Studio contrassegni l'apk che installa in modo che l'installazione usando i gestori dei pacchetti distinguerebbe tra la versione installata per il debug e le versioni scaricate da Google Play o altre fonti esterne (questo non mi è mai successo quando si utilizza eclipse).


1

È possibile che l'applicazione non sia stata disinstallata correttamente. Se il tuo dispositivo è in questo caso, puoi provare questo metodo.

Per prima cosa ottieni il nome del pacchetto dell'applicazione, ad esempio 'com.xxx.app', puoi usare Root Explorer e trovarlo dal file manifest (RE può decodificare il file). quindi è possibile utilizzare questo script per disinstallarlo:

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

1

Stesso errore del pacchetto:

  1. Crea un nuovo pacchetto nella tua app con un nome diverso.
  2. Copia e incolla tutti i file nel tuo vecchio pacchetto nel nuovo pacchetto.
  3. Salva codice.
  4. Elimina il vecchio pacchetto e pulisci e ricostruisci progetto.

1. Molto 2. corto 3. potrebbe 4. usare 5. spiegazione.
Yunnosch,

1

inserisci qui la descrizione dell'immagineHo dovuto accedere come proprietario e andare su Impostazioni -> App, quindi scorrere fino alla scheda Tutte. Scorri verso il basso fino alla fine dell'elenco in cui sono elencate le versioni precedenti con un segno "non installato". Selezionalo e premi il pulsante 'Impostazioni' nell'angolo in alto a destra e infine 'disinstalla per tutti gli utenti'


Ha funzionato per me, ma ... ora quando si scarica dal mio sito Web, l'app non viene scaricata (almeno nella cartella Download). Nessun errore segnalato. Non succede proprio. Quando collego il telefono al computer, posso copiare l'APK sul telefono e installarlo senza errori segnalati.
Ron,

0

Potrebbe esserci un altro motivo per cui l'applicazione non si aggiornerà quando cambi / aggiungi / rimuovi shareId in AndroidManifiest.

"Android: sharedUserId"

Si prega di controllare anche quello.

Per prevenire, consigliamo di utilizzare sharedUserId nella propria applicazione, nonostante sia necessario o ora necessario.


0

Ho provato tutto quanto sopra e non ha funzionato.

Ho scoperto che, nonostante la disinstallazione dell'app, una nuova versione dell'app dà ancora lo stesso errore.

Ecco cosa risolto: vai su Impostazioni -> Generale -> Gestione applicazioni -> scegli la tua app -> fai clic sui tre punti in alto -> disinstalla per tutti gli utenti

Una volta fatto questo, ora viene effettivamente disinstallato e ora consentirà l'installazione della nuova versione.

Spero che questo ti aiuti.

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.