Exportar y firmar APK en Ionic

Para publicar nuestra aplicación a la play store no solo necesitamos subir la apk que generamos, debemos crear una firma que identifique nuestra aplicación para en un futuro identificarnos a la hora de actualizar ésta en la store.

Voy a explicar de una forma rápida y sencilla como hacer este sencillo proceso que se nos puede hacer tedioso si es la primera vez que nos enfrentamos a el.

Preparando nuestro equipo

Para crear la firma y utilizar ésta en nuestra apk, necesitaremos tener instalado JDK y el SDK de android. Una vez tengamos instaladas estas herramientas, crearemos variables globales para utilizarlas en nuestro equipo.

Estas son las rutas en las que tengo yo instalado el jdk de java y el sdk de android:

C:\Program Files\Java\jdk1.8.0_191\bin

C:\Users\vuestro-usuario\AppData\Local\Android\Sdk\build-tools\28.0.3

El nombre de vuestra ruta puede variar dependiendo de las versiones que cada uno tenga, os recomiendo que las busquéis en vuestro sistema.

Una vez tengamos las rutas, iremos a:

Panel de control\Sistema y seguridad\Sistema

y daremos clic en Configuración avanzada del sistema, donde nos aparecerá la siguiente ventana:

Seleccionaremos variables de entorno, Path y editar:

Dentro, daremos a nueva y pegaremos las dos rutas del jdk y el sdk.

Una vez hecho esto, ¡podemos comenzar a generar y firmar nuestra apk!

Generar y firmar la APK

Nos dirigimos desde la consola a la ruta de nuestro proyecto y utilizaremos el siguiente comando:

ionic cordova build --release android

Esto nos generará nuestra apk en la siguiente carpeta de nuestro proyecto:

Generada nuestra apk, nos dirigimos desde la consola a la carpeta release, donde se encuentra nuestra apk y creamos nuestra firma con el siguiente comando:

keytool -genkey -v -keystore ejemplo.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Ejemplo.keystore: nombre de la firma

alias_name: nuestro alias

Tras ejecutar este comando tendremos que responder a una serie de preguntas, donde la más importante es la contraseña que le pondremos a nuestra firma, que utilizaremos cada vez que firmemos nuestra apk.

Una vez creada, firmaremos con ella nuestra apk, para ello utilizaremos el siguiente comando:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ejemplo.keystore app-release-unsigned.apk alias_name

Debemos escribir el nombre de nuestra firma, en mi caso ejemplo.keystore, el nombre de la apk que se ha generado por defecto y el alias que escribimos cuando generamos la firma.

Una vez hecho esto, solo nos queda optimizar nuestra apk firmada y ponerle un nombre:

zipalign -v 4 app-release-unsigned.apk ejemplo.apk

En primer lugar, escribiremos el nombre de la apk por defecto y en segundo el nombre de nuestra apk ya optimizada.

Una vez hecho esto, nuestra apk esta lista para subir a la play store y si queremos sacar un beneficio económico con ella, lee el siguiente 👉articulo para añadirle admob a nuestra aplicación.👈

Recuerda que debes guardar la firma, ya que será esta la que utilices cada vez que actualices tu app en la playstore.