J'ai trouvé que cela était dû à ma version JDK.
J'avais ce problème avec 'ant' et c'était à cause de cette ATTENTION mentionnée dans la documentation:
http://developer.android.com/guide/publishing/app-signing.html#signapp
Attention: à partir de JDK 7, l'algorithme de signature par défaut a changé, vous obligeant à spécifier les algorithmes de signature et de résumé (-sigalg et -digestalg) lorsque vous signez un APK.
J'ai JDK 7. Dans mon journal Ant, j'ai utilisé -v pour verbeux et il a montré
$ 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]
J'ai signé le JAR manuellement et l'ai zippé, mais cela a donné une erreur légèrement différente:
$ "$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)
J'ai trouvé cette réponse ici.
Comment gérer INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES sans désinstallation
Je n'avais besoin que de le désinstaller et cela a fonctionné!
$ 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)
Maintenant, je n'ai plus qu'à modifier le build.xml pour utiliser ces options lors de la signature!
Ok, c'est ici: C: \ Program Files \ Java \ android-sdk \ tools \ ant \ 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}" />
INSTALL_PARSE_FAILED_NO_CERTIFICATES
est une erreur-103
que vous pouvez obtenir / voir viaadb log
( src ) par exemple.D/PackageInstaller(21320): Installation error code: -103