Firmar APK android desde el CLI para subirlo a google play

Antes de comenzar, para realizar el tutorial se ha usado:

  • Mac OSX 10.10.5
  • Cordova CLI 5.3.3
  • Cordova android 4.1.1
  • node 4.1.1
  • npm 2.14.4

Debería funcionar en otras versiones posteriores, si no lo hace no dudes en comentar. Si usas versiones anteriores, es recomendable actualizar para evitar posibles problemas.

PASO 1: GENERAR KEYSTORE

Si ya dispones de un keystore porque no es tu primera aplicación te puedes saltar este paso.

Para generar un keystore nuevo, abre una terminal y pon este comando:(puedes cambiar el nombre del .keystore y el del alias, lo demás dejalo igual)

keytool -genkey -v -keystore mikeystore.keystore -alias mi_alias -keyalg RSA -keysize 2048 -validity 10000

Se nos preguntará por la contraseña del keystore (2 veces), aunque no se ve he usado “tutorial”, luego pregunta por el nombre y apellidos, el nombre de la unidad de organización, nombre de la organización, ciudad, provicia, código del país y al terminar si está todo correcto escribes si. Por último pregunta por la contraseña del alias, si pulsas enter se usa la misma que para el keystore.

pasos_keystore

Al finalizar se habrá creado un fichero mikeystore.keystore en la carpeta en la que hayamos ejecutado el comando, para que los siguientes pasos sean mas sencillos vamos a copiarlo a la raiz del proyecto cordova que queramos firmar.

PASO 2: CREACIÓN DE UN FICHERO build.json

Nos vamos a la raiz del proyecto que queremos firmar y creamos allí un fichero de texto con nombre build.json con el siguiente contenido

{
     "android": {
         "debug": {
             "keystore": "mikeystore.keystore",
             "storePassword": "tutorial",
             "alias": "mi_alias",
             "password" : "tutorial",
             "keystoreType": ""
         },
         "release": {
             "keystore": "mikeystore.keystore",
             "storePassword": "tutorial",
             "alias": "mi_alias",
             "password" : "tutorial",
             "keystoreType": ""
         }
     }
 }

Si has usado nombres y/o contraseñas distintas cambialo de acuerdo a lo que hayas usado, y si no copiaste el .keystore a la raiz del proyecto, usa la ruta absoluta a la localización en tu disco duro, o relativa desde el proyecto.

PASO 3: CREAR EL .APK

Simplemente usa el siguiente comando:

cordova build android –release

Si todo ha ido bien podrémos encontrar el .apk firmado en la carpeta /platforms/android/build/outputs/apk/ con el nombre android-release.apk

 

2 comentarios en “Firmar APK android desde el CLI para subirlo a google play

  1. Saludos, muy buen tutorial llegando a casa lo intentaré, tengo una duda del archivo build.json, ¿Cuál es la finalidad de los dos nodos debug y release?, también he visto que remueven la consola de config.xml usando:
    cordova plugin rm org.apache.cordova.console –save

    1. Es por si quieres usar un keyStore distinto para debug y para release, aunque para debug no hace falta keyStore. Tiene más sentido en iOS donde configuras el provisioning profile a usar.

      No entiendo lo que dices del plugin console

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *