Como firmar y publicar una app desde Phonegap a Google Play en Mac

Agradecimiento a: http://eumenro.tumblr.com/post/87515954418/como-firmar-y-publicar-una-app-desde-phonegap-a

En el post anterior vimos como crear una keystore para nuestra app de Android, ahora detallaré los pasos para poder firmarla con la keystore y publicarla en el Google Play.

Pasos:

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, etc …

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.

2 – Crea el keystore, sigue los pasos del post anterior.

3 – Crea el ant, para eso vamos a ‘platforms/android’ y desde un editor de notas creamos un archivo que se llame ant.properties con el siguiente código:

key.store = ruta/del/archivo/miapp.keystore
key.alias = nombreapp

Como estamos en Mac la ruta del keystore tendría un aspecto así: ../../../miapp.keystore. El key.alias es el que pusimos en el keystore al crearlo.

4 – Hacemos build de nuestra app (si ya lo hemos hecho, nos saltamos este paso).

Abrimos el terminal, desde la ruta del proyecto de Phonegap, escribimos:

phonegap build android

Ahora en nuestra carpeta ‘platforms/android/ant-build’ tendremos:

nombreapp.ap_
nombreapp.ap_.d
nombreapp-debug.apk
nombreapp-debug-unaligned.apk
nombreapp-debug-unaligned.apk.d

5 – Release mode, en este paso nos vamos al ‘platforms/android’ y en el terminal escribimos:

ant release

Nos pedirá las contraseñas del keystore y del alias, las escribimos. Si todo va bien en la carpeta ‘platforms/android/bin’ tendremos los siguientes archivos:

nombreapp-release.apk
nombreapp-release-unaligned.apk
nombreapp-release-unsigned.apk
nombreapp-release-unsigned.apk.d

Pues nos vamos a esa carpeta y ejecutamos desde terminal el siguiente código:

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

Nos pedirá la contraseña del keystore, después escribimos:

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

Si nos aparece algún warning pasamos de él.

6 – El último paso para obtener el .apk es ejecutar el zipalign. Si tenemos los paths del zigalign no hay ningún problema, sino tenemos que escribir la ruta del mismo en el terminal.

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

La herramienta zipalign suele estar en la carpeta ‘tools’ del sdk de android.

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

Pues esta es la pequeña guía para firmar y publicar una app desde Phonegap a Google Play, espero que les sea útil :)

Deja un comentario