2012-03-20 15 views
22

Lo stesso progetto Android è costruito in modalità debug, a volte con Eclipse, a volte con ant (sulla macchina di compilazione).INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES su adb install

Se prima installare l'Ant, e quindi provare ad avviare Eclipse il debug, la console visualizza Eclipse

[2012-03-20 13:32:26 - myproject] Re-installazione non è riuscita a causa di diverse firme delle applicazioni. [2012-03-20 13:32:26 - myproject] È necessario eseguire una disinstallazione completa dell'applicazione. ATTENZIONE: questo rimuoverà i dati dell'applicazione!
[2012-03-20 13:32:26 - myproject] Esegui "adb uninstall com.myproject" in una shell. [2012-03-20 13:32:26 - myproject] Lancio annullato!

Se faccio questo il contrario, vale a dire, il debug con Eclipse (include l'installazione del apk) e poi tenta di installare la build formica da linea di comando, ottengo:

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES ]

Cosa c'è di sbagliato con i miei certificati/firma?

+0

possibile duplicato [Come trattare con INSTALL \ _PARSE \ _FAILED \ _INCONSISTENT \ _CERTIFICATES senza unins tallation] (http://stackoverflow.com/questions/3185444/how-to-deal-with-install-parse-failed-inconsistent-certificates-without-uninstal) – ForeverLearning

risposta

15

Il problema è che i file apk (durante Eclipse e la generazione ant) ​​sono stati firmati con diversi certificati. Per rendere le firme coerente tra generazioni sono state costruite su macchine diverse, posizionare il keystore di debug in controllo di versione:

Questo è utile se si tende a installare in modo incrociato le build dal proprio computer e creare un computer.

+0

Ho lo stesso problema, ma è sulla stessa macchina , progetto e directory. È come se ant e eclipse non stessero usando lo stesso keystore (debug) ... usato per funzionare, ma sono stato recentemente aggiornato ad Android Tools 20. –

1

Apri le preferenze di Eclipse. Apre la sezione Android nella lista di sinistra. Seleziona l'area "Build" sotto Android Accanto a "Custom debug store" vai al keystore sotto l'installazione di Android SDK, NON quella che Eclipse ha selezionato sotto la tua home directory.

Ora la build e l'eclipse di Android utilizzano lo stesso keystore.

1

In IntelliJ sebbene sia possibile selezionare un archivio di chiavi di debug per la firma di debug delle applicazioni, non è possibile immettere la password keystore o la parola chiave. È possibile esportare i certificati di rilascio e importarli nel keystore di debug e modificare il keystore e le password chiave in "android". Ho preparato istruzioni passo-passo per questo: http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/

46

Per me il problema era che avevo già installata la stessa applicazione con un'altra chiave.Disinstallare la vecchia applicazione ha risolto il problema, come indicato qui:

https://stackoverflow.com/a/10280878

26

Il vecchio .apk installato ha certificato diverso da quello della nuova sta per essere installato o è già installato nel dispositivo con una chiave diversa. Ciò significa che l'applicazione è stata precedentemente installata da un altro computer che le ha fornito credenziali diverse.

Quindi la soluzione è:

uninstall the existing .apk

e poi

re-install the new .apk

+0

Grazie, ha funzionato! –

0

Se il sistema edificio è Gradle, basta usare il comando follwong di disinstallarlo in Windows:

.\gradlew.bat uninstallDebug 

o in Linux:

./gradlew uninstallDebug 

E poi:

./gradlew install 

Si tratta di un controllo di certificazione per l'installazione e la disinstallazione sulla stessa confezione in Android. Se utilizzi due PC (computer) diversi collegati allo stesso telefono, riceverai questo errore quando colleghi il tuo telefono a quei PC diversi. La scelta migliore è vincolare un PC con un telefono fisico.

+0

Ha qualcosa a che fare con la domanda? – techraf

0

Altro soluzione Incremente il codice del file versione on build.gralde dell'applicazione

defaultConfig { 
     ... 
     versionCode 1 
     ... 
    } 

defaultConfig { 
     ... 
     versionCode 2 
     ... 
    } 

Sincronizza ora enter image description here

Costruire Progetto pulita

Eseguire l'applicazione