Encontré que esto fue causado por mi versión JDK.
Estaba teniendo este problema con 'hormiga' y fue debido a esta PRECAUCIÓN mencionada en la documentación:
http://developer.android.com/guide/publishing/app-signing.html#signapp
Precaución: a partir de JDK 7, el algoritmo de firma predeterminado ha cambiado, lo que requiere que especifique los algoritmos de firma y resumen (-sigalg y -digestalg) cuando firma un APK.
Tengo JDK 7. En mi registro Ant, usé -v para verbose y mostró
$ 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]
Firmé el JAR manualmente y lo alineé, pero me dio un error ligeramente diferente:
$ "$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)
Encontré eso respondido aquí.
Cómo lidiar con INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES sin desinstalación
¡Solo necesitaba desinstalarlo y luego funcionó!
$ 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)
¡Ahora solo necesito modificar el build.xml para usar esas opciones al firmar!
Ok, aquí está: C: \ Archivos de programa \ 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
es un error-103
que puede obtener / ver a través deadb log
( src ), por ejemplo.D/PackageInstaller(21320): Installation error code: -103