[Phonegap] Firmar aplicaciones Android

El firmado de aplicaciones algunas veces, normalmente al principio es una tarea tediosa, pero cuando lo haces unas cuantas veces te vas acostumbrando. En esta entrada vamos a ver como firmar aplicaciones Android para subirlas a Play Store.

En los comandos lo que pongo en mayúscula es lo que tienes que poner con tus datos

Una vez tengamos nuestra aplicación compilada con

 

phonegap build android --release

Nos genera un archivo de nombre CordovaApp-release.apk esta sería nuestra aplicación compilada con el modo release y no debug.

Abrimos el terminal y escribimos lo siguiente:

 

keytool -genkey -v -keystore NOMBRE_DEL_ARCHIVO.keystore -alias ALIAS -keyalg RSA -keysize 2048 -validity 10000

Durante el proceso nos irá pidiendo algunos datos como nuestro nombre, dirección, compañía, etc. y una contraseña que será muy importante recordarla para futuras actualizaciones. Esto nos genera un archivo *.keystore que es la firma que vamos a utilizar para todas las actualizaciones de nuestra aplicación, por lo que recomiendo tenerla guardada en un lugar seguro, sin este archivo no podremos actualizar la aplicación. Ya tenemos nuestra aplicación y nuestra archivo de firma preparado, ahora solo falta firmar la aplicación, esto se hace con el siguiente comando:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NOMBRE_DEL_KEYSTORE.keystore NOMBRE_DEL_ARCHIVO_RELEASE.apk ALIAS_DE_LA_APP

Se ejecutará y lo que hace es firmar la aplicación con la firma que hemos creado antes, si queremos comprobar que la firma ha sido correcto ejecutamos el siguiente comando:

 

jarsigner -verify -verbose -certs NOMBRE_DEL_ARCHIVO_RELEASE.apk

Tanto si ha sido firmada correctamente o no, nos lo notificará a través del terminal.

El ultimo paso es alinear la aplicación.

 

zipalign -v 4 NOMBRE_DE_LA_RELEASE.apk NOMBRE_FINAL_DE_LA_APP.apk

El archivo de «NOMBRE_FINAL_DE_LA_APP» es el que tienes que subir, ¡Y fin! Ya tenemos nuestra aplicación firmada y lista para subir al Play Store.

Si tienes cualquier problema comenta y te intento ayudar.

Eso es todo! Happy Code!

Amante de todo lo que tenga que ver con internet, la programación mi pasión, crear nuevas formas y nuevos sistemas que den vida a nuevos proyectos que faciliten la vida a muchas personas,