Hva er INSTALL_PARSE_FAILED_NO_CERTIFICATES feil?

stemmer
100

Jeg prøvde å endre min default / main / oppstart (uansett hva du kaller det) aktivitet ved å redigere androidmanifest.xmlfilen. Alt jeg gjorde var å endre android:nameeiendommen. Men dette er helt blakk hele programmet. når jeg prøver å installere det mislykkes og leser.

Installasjonsfeil: INSTALL_PARSE_FAILED_NO_CERTIFICATES

Da jeg prøvde å endre den tilbake til sin tidligere tilstand, ble det fortsatt gir meg den samme feilen ... Hva har jeg gjort?

Publisert på 26/05/2010 klokken 14:58
kilden bruker
På andre språk...                            


20 svar

stemmer
43

Visste du redigere AndroidManifest.xmldirekte i .apkfilen? I så fall vil det ikke fungere.

Hver Android .apkmå signeres hvis det kommer til å bli installert på en telefon , selv om du ikke installerer gjennom Market. Utviklingsverktøy jobbe rundt dette ved å signere med en utvikling sertifikat, men .apker fortsatt undertegnet.

En bruk av dette er slik at en enhet kan fortelle om en .apker en gyldig oppgradering for et installert program, siden hvis det er sertifikater vil være den samme.

Så hvis du gjør noen endringer i programmet i det hele tatt må du gjenoppbygge .apkså det blir signert riktig.

Svarte 26/05/2010 kl. 16:13
kilden bruker

stemmer
51

Jeg fant dette var forårsaket av min JDK versjon.

Jeg hadde dette problemet med 'maur', og det var på grunn av denne FORSIKTIG nevnt i dokumentasjonen:

http://developer.android.com/guide/publishing/app-signing.html#signapp

Forsiktig: Per JDK 7, har standard signerings algorithim endret, at du må angi signaturen og fordøye algoritmer (-sigalg og -digestalg) når du registrerer en APK.

Jeg har JDK 7. I min Ant log, jeg brukte -V for ordrik og det viste

$ ant -Dadb.device.arg=-d -v release install
[signjar] Executing 'C:\Program Files\Java\jdk1.7.0_03\bin\jarsigner.exe' with arguments:
[signjar] '-keystore'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\release.keystore'
[signjar] '-signedjar'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unaligned.apk'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unsigned.apk'
[signjar] 'mykey'
 [exec]     pkg: /data/local/tmp/PairFinder-release.apk
 [exec] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

Jeg signerte JAR manuelt og justert for komprimering det, men det ga en litt annen feil:

$ "$JAVA_HOME"/bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore release.keystore -signedjar bin/PairFinder-release-unaligned.apk bin/PairFinder-release-unsigned.apk mykey
$ zipalign -v -f 4 bin/PairFinder-release-unaligned.apk bin/PairFinder-release.apk
$ adb -d install -r bin/PairFinder-release.apk
        pkg: /data/local/tmp/PairFinder-release.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
641 KB/s (52620 bytes in 0.080s)

Jeg fant ut at svarte her.

Hvordan håndtere INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES uten avinstallering

Jeg trengte bare å avinstallere den og så det virket!

$ adb -d uninstall com.kizbit.pairfinder
Success
$ adb -d install -r bin/PairFinder-release.apk
        pkg: /data/local/tmp/PairFinder-release.apk
Success
641 KB/s (52620 bytes in 0.080s)

Nå trenger jeg bare endre build.xml å bruke disse alternativene når signering!

Ok her er det: C: \ Program Files \ Java \ android-sdk \ tools \ maur \ build.xml

            <signjar
                    sigalg="MD5withRSA"
                    digestalg="SHA1"
                    jar="${out.packaged.file}"
                    signedjar="${out.unaligned.file}"
                    keystore="${key.store}"
                    storepass="${key.store.password}"
                    alias="${key.alias}"
                    keypass="${key.alias.password}"
                    verbose="${verbose}" />
Svarte 10/04/2012 kl. 04:58
kilden bruker

stemmer
0

Etter litt tid og flere elektroniske tråder om emnet klarte jeg å fikse mitt prosjekt.

Det er hovedsakelig tatt i betraktning de siste filer ( kan være bilder eller oppsett ) som du putter i. Hvis du sletter dem, vil det fungere ut, og du kan bygge prosjektet på nytt.

Svarte 03/05/2012 kl. 18:28
kilden bruker

stemmer
5

Dette er en stygg, men rask løsning: Bruk JDK 6 i stedet for syv.

Etter lese Chloe svar, jeg avinstallerte min JDK 7 (trenger ikke det for tiden anyways) og installert JDK 6. Det fikset det. En bedre løsning ville gjøre maur bruker JDK 6 (uten avinstallering 7). Kanskje mulig endring / sette denne egenskapen:

java.library.path

i local.properties fil. Det er i prosjektkatalogen (root).

Android fungerer ikke med JDK 7 anyways (kun 6 eller 5), så sørg for at mauren skriptet bruker også JDK 6 eller 5 er sannsynligvis en god løsning.

Svarte 11/05/2012 kl. 10:44
kilden bruker

stemmer
2

Innstilling variabelen JAVA_HOMEtil JDK 5 eller 6 (i stedet for JDK 7) som er festet til feilen.

Svarte 04/06/2012 kl. 09:16
kilden bruker

stemmer
15

løst (for meg) ved hjelp av i keytool de argument

-sigalg MD5withRSA -keyalg RSA -keysize 1024

og bruker i jarsigner

-sigalg MD5withRSA -digestalg SHA1

Løsningen finnes i

Hva slags pitfals finnes for Android APK signering?

Svarte 20/08/2012 kl. 23:07
kilden bruker

stemmer
6

Mesteparten av tiden løsningen for denne feilen er veldig enkelt:

  1. Avinstallere apk
  2. Rengjør Android-prosjektet
  3. Bygg din Android-prosjektet
  4. Installere / kjøre apk
Svarte 10/04/2013 kl. 11:56
kilden bruker

stemmer
4

I mitt tilfelle kan jeg bygge og kjøre utgivelsen bygger, men fikk INSTALL_PARSE_FAILED_NO_CERTIFICATESfeilmelding når du prøver å gjøre en debug bygge.

Løsningen ble å slette min debug.keystorefil og la ADT gjenskape det. Det hadde tydeligvis gått ut.

En bedre langsiktig løsning er å eksplisitt skape en debug.keystoresom ikke utløper etter bare et år, i stedet for å la ADT lage den. Her er kommandoen for å gjøre det:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

Når du blir bedt, oppgir disse verdiene:

  • Fornavn og etternavn: Android Debug
  • Organisasjonsenhet: Android
  • Organisasjonsnavn: Ukjent
  • By eller Lokalitet: Ukjent
  • Stat eller provins: Ukjent
  • Landskode: USA
Svarte 29/05/2013 kl. 23:15
kilden bruker

stemmer
2

Dette kan skje hvis du prøver å ta et .jarbibliotek som inneholder en AndroidManifest.xmlfil.

  • Hvis det er ren Java sørg for at du ikke ta den med i .jar eksport
  • Hvis det ikke er ren Java (som betyr at det er en Android-prosjektet) så må du ta det som et bibliotekprosjekt
Svarte 02/11/2013 kl. 19:26
kilden bruker

stemmer
0

Jeg hadde denne feilen i min Eclipse Console. Det viser seg at jeg hadde to krukker med samme innhold, men forskjellige navn, og de ble i konflikt med hverandre. Jeg bare slettet en av dem, og klarte å installere programmet på enheten.

Svarte 22/08/2014 kl. 13:38
kilden bruker

stemmer
0

Jeg fikk denne feilen fordi jeg gjorde slipper at min ant releasesviktet fordi jeg gikk tom for diskplass.

Svarte 17/06/2016 kl. 05:07
kilden bruker

stemmer
0

Jeg fikk denne feilen da jeg prøvde å installere en Xamarin prosjekt bygget mot Android N forhåndsvisning på en telefon som kjører api V23. Løsningen er å ikke gjøre det.

Svarte 27/06/2016 kl. 18:25
kilden bruker

stemmer
0

En annen måte å få denne feilen er å bygge hjelp antpå MacOS og har et Finder-symbolet fil ( Icon\r) i kildetreet av programmet.