Firmar y publicar una app de Cordova en Play Store

Lo primero es generar un keystore con el cual firmaremos nuestra app Android.

Pasos para crear nuestro keystore:

  1. Abrir un terminal.
  2. Escribimos:
keytool -genkey -v -keystore nombreapp.keystore -alias aliasapp -keyalg RSA -keysize 2048 -validity 10000

Cambiamos lo remarcado por nuestros datos
  1. Nos pedirá una contraseña . No la debemos olvidar, guardala bien,  ya que  la necesitaremos si queremos actualizar la aplicación en un futuro.
  2. Volvemos a escribir la contraseña.
  3. Nos pide nuestro nombre (first name), apellidos (last name), departamento (organizational unit), organización (organization), ciudad (city of locality), provincia (state or province), y el código del país, por ejemplo: MX para Mexico, US para Estados Unidos, etc …
  4. Nos pide que confirmemos que está todo correcto así que escribimos 'yes' o 'si' dependiendo del lenguaje de tu consola.
  5. Pues ya tenemos nuestro .keystore creado
Por cada aplicación a subir se recomienda por seguridad  crear un nuevo keystore.

Pasos para firmar nuestra app:

  1. Asegurate de que ya tienes la app perfecta.
Comprueba los archivos 'www/config.xml' y 'platforms/android/AndroidManifest.xml’, debes tener correctamente escritos el versionCode y el versionName. El versionName es el típico 1.0.1, 1.0.2, 2.1.0, etc … y es público en Google Play para los usuarios, el versionCode es privado y es un número entero … 1, 2, 3, Cordova en sus nuevas versiones actualiza el AndroidManifest dependiendo de la version que indiquemos en el archivo config.xml

Se puede ver en el siguiente código:

<manifest android:hardwareaccelerated="true" android:versioncode="2" android:versionname="1.0.1" android:windowsoftinputmode="adjustPan" package="com.company.app" xmlns:android="http://schemas.android.com/apk/res/android">

También comprueba que en AndroidManifest.xml tienes debuggable a false.
  1. Hacemos build  release de nuestra app. desde terminal escribimos
cordova build android -release


Nos generará un archivo  platforms/android/build/outputs/apk/android-release-unsigned.apk el cual firmaremos con los siguiente comandos.

  1. Pues nos vamos a esa carpeta donde genero el release (también podemos usar la ruta absoluta del archivo) y ejecutamos desde terminal el siguiente código:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ruta/del/archivo/miapp.keystore android-release-unsigned.apk nombreapp

Nos pedirá la contraseña del keystore.

Después escribimos:

jarsigner -verify -verbose -certs android-release-unsigned.apk


Si nos aparece algún warning pasamos de él.
  1. El último paso para obtener el .apk es ejecutar el zipalign. Si tenemos los paths del zigalign no hay ningún problema, de lo contrario tenemos que escribir la ruta del mismo en el terminal. Se encuentra dentro del sdk de android en la carpeta build-tools "android-sdk/build-tools/22.0.1" dependiendo de tu version.

zipalign -v 4 android-release-unsigned.apk nombreapp.apk

Si nos dice 'Verification successful’ es que está todo perfecto y tenemos nuestro '.apk’ listo para subir al Google Play.








Comentarios

Entradas más populares de este blog

Instalación de PROXMOX (por usb)

Método PERT.