2012-03-20 16 views
22

Ten sam projekt Android jest wbudowany w tryb debugowania, czasami w Eclipse, czasami z ant (na maszynie).INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES na adb install

Gdybym najpierw zainstalować ant build, a następnie spróbuj uruchomić Eclipse debugowanie, konsola wyświetla Eclipse

[2012-03-20 13:32:26 - myproject] powiodło się z powodu ponownej instalacji różne sygnatury aplikacji. [2012-03-20 13:32:26 - myproject] Musisz wykonać pełną deinstalację aplikacji. OSTRZEŻENIE: spowoduje to usunięcie danych aplikacji!
[2012-03-20 13:32:26 - myproject] Proszę wykonać polecenie "adb uninstall com.myproject" w powłoce. [2012-03-20 13:32:26 - myproject] Uruchomienie anulowane!

Jeśli mogę to zrobić na odwrót, tzn debugowania z Eclipse (obejmuje instalacji apk), a następnie spróbuj zainstalować ant build z linii poleceń, otrzymuję:

Wada [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES ]

Co jest nie tak z moimi certyfikatami/podpisami?

+0

możliwy duplikat [Jak radzić sobie z INSTALL \ _PARSE \ _FAILED \ _INCONSISTENT \ _CERTIFICATES bez logo tallation] (http://stackoverflow.com/questions/3185444/how-to-deal-with-install-parse-failed-inconsistent-certificates-without-uninstal) – ForeverLearning

Odpowiedz

15

Problem polega na tym, że pliki APK (podczas Eclipse i ant build) zostały podpisane różnymi certyfikatami. Aby podpisy spójne między buduje, które zostały zbudowane na różnych maszynach, umieść kluczy debugowania w kontroli wersji:

Jest to przydatne, jeśli masz skłonność do krzyżowej instalacji kompilacji z własnego komputera i maszyny.

+0

Mam ten sam problem, ale jest na tej samej maszynie , projekt i katalog. Wygląda to tak, jakby mrówka i zaćmienie nie używały tego samego (debugującego) magazynu kluczy ... kiedyś działały, ale ostatnio zaktualizowałem system do Android Tools 20. –

1

Otwórz preferencje Eclipse. Otwórz sekcję Androida na lewej liście. Wybierz obszar "Kompilacja" pod Androidem Obok "Niestandardowego sklepu debugowania" przejdź do magazynu kluczy w instalacji Android SDK, a NIE tego, który Eclipse wybrał w twoim katalogu domowym.

Teraz kompilacja mrówki i zaćmienie używają tego samego magazynu kluczy.

1

W systemie IntelliJ chociaż można wybrać plik debugowania pliku kluczy do debugowania podpisywania aplikacji, nie można wprowadzić hasła magazynu kluczy ani keypassword. Można wyeksportować swoje certyfikaty wersji i zaimportować je do pliku kluczy debugowania oraz zmienić hasło magazynu kluczy i klucza na "android". Przygotowałem dla niego instrukcje krok po kroku: http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/

46

Dla mnie problem polegał na tym, że miałem już zainstalowaną tę samą aplikację z innym kluczem.Odinstalowanie starej aplikacji rozwiązało problem, jak wspomniano tutaj:

https://stackoverflow.com/a/10280878

26

Stary zainstalowane apk ma inny niż nowy certyfikat będzie zainstalowany lub jest on już zainstalowany w urządzeniu z innym kluczem. Oznacza to, że Twoja aplikacja została wcześniej zainstalowana z innego komputera, który podał inne dane uwierzytelniające.

Więc rozwiązanie jest:

uninstall the existing .apk

a następnie

re-install the new .apk

+0

Dziękuję, że zadziałało! –

0

Jeśli system budynek jest Gradle, wystarczy użyć polecenia follwong go odinstalować w systemie Windows:

.\gradlew.bat uninstallDebug 

lub w systemie Linux:

./gradlew uninstallDebug 

, a następnie:

./gradlew install 

To sprawdzenie certyfikatu dla instalacji i deinstalacji w tym samym opakowaniu w Androidzie. Jeśli korzystasz z dwóch różnych komputerów (komputera) podłączonych do tego samego telefonu, ten błąd wystąpi po podłączeniu telefonu do tych komputerów. Najlepszym wyborem jest wiązanie jednego komputera z jednym fizycznym telefonem.

+0

Czy ma to coś wspólnego z pytaniem? – techraf

0

Inne rozwiązanie Incremente kod na wersję pliku build.gralde swojej aplikacji

defaultConfig { 
     ... 
     versionCode 1 
     ... 
    } 

defaultConfig { 
     ... 
     versionCode 2 
     ... 
    } 

Sync Teraz enter image description here

Budowa czysty Projekt

uruchomić aplikację