-
Notifications
You must be signed in to change notification settings - Fork 1
Firmar apk
Los pasos manuales para firmar un aplicacion en Android son:
- generar una key en base a una serie de datos nuestros. Esta key no puede ser duplicada aun ingresando los mismos datos
- firmar la aplicacion: significa embeberle la key en el archivo binario de la aplicacion compilada
- alinear la aplicacion compilada y firmada
Los pasos con Phonegap son distintos, tal vez incluso mas complejos, pero a contrapartida solo necesitamos hacerlos una vez, luego quedaran listos para que la aplicacion se firme cuando querramos.
- generar una key en base a una serie de datos nuestros. Esta key no puede ser duplicada aun ingresando los mismos datos
- indicar a ant donde se encuentra el keystore
- ant.properties
- indicar claves para el keystore
- custom_rules.xml
- secure.properties
En ambos casos es inevitable generar una key dentro de un keystore
Para estos pasos tendremos que utilizar herramientas provistas por JDK/JRE que es uno de los requerimientos para iniciar el curso.
Otro requerimiento fue configurar correctamente la variable de entorno JAVA_HOME. Esta representa la ruta a donde se encuentra instsalado JDK/JRE, deberia apuntar a algo como C:\Program Files\Java\jdk1.8.0_45
.
Dentro de este directorio tendremos uno llamado jre
y otro bin
. En estos directorios encontraremos las aplicaciones que necesitamos:
- keytool
- jarsigner
- zipalign
Prueben en una ventana de comando (cmd):
dir "%JAVA_HOME%"
Deberian ver algo como esto:
C:\Users\cg>dir "%JAVA_HOME%"
Volume in drive C has no label.
Volume Serial Number is 0CD8-9E9F
Directory of C:\Program Files\Java\jdk1.8.0_45
18/04/2015 05:54 p.m. <DIR> .
18/04/2015 05:54 p.m. <DIR> ..
18/04/2015 05:53 p.m. <DIR> bin
10/04/2015 11:00 a.m. 3.244 COPYRIGHT
18/04/2015 05:53 p.m. <DIR> db
18/04/2015 05:53 p.m. <DIR> include
18/04/2015 05:53 p.m. 5.172.313 javafx-src.zip
18/04/2015 05:53 p.m. <DIR> jre
18/04/2015 05:53 p.m. <DIR> lib
18/04/2015 05:53 p.m. 40 LICENSE
18/04/2015 05:53 p.m. 159 README.html
18/04/2015 05:53 p.m. 527 release
10/04/2015 11:00 a.m. 21.242.025 src.zip
18/04/2015 05:53 p.m. 110.114 THIRDPARTYLICENSEREADME-JAVAFX.txt
18/04/2015 05:53 p.m. 178.403 THIRDPARTYLICENSEREADME.txt
Hasta ahora siempre ejecutamos la aplicacion contra el telefono. Es decir:
phonegap run android
compila la aplicacion por nosotros y la envia al telefono para que podamos verla funcionando. Sin embargo el proceso esta simplificado y lo que realmente hace es ejecutar:
phonegap build android --debug
phonegap run --device
Ahora bien, para firmar la aplicacion necesitaremos el archivo .apk preparado para produccion, para esto instruimos al compilador que queremos un release:
phonegap build android --release
Con este parametro el compilador ant
procesa el codigo para nuestra aplicacion y guarda el archivo .apk de la aplicacion generada en:
platforms/android/ant-build/CordovaApp-release-unsigned.apk
Como se puede deducir por el nombre, si bien la aplicacion fue generada para un release, permanece sin firmar (unsigned).
Este es el archivo que vamos a usar para los siguientes procedimientos de firmar la aplicacion y alinear el archivo binario (zip).
Si bien los siguientes pasos no son necesarios automatizando la firma del archivo .apk a traves de Phonegap y ant, la ubicacion del archivo sera la misma solo que con distinto nombre.
http://www.adamwadeharris.com/sign-publish-phonegap-app-google-play-store-windows/
http://www.adamwadeharris.com/android-automation/
http://developer.android.com/tools/publishing/app-signing.html
http://developer.android.com/tools/publishing/preparing.html
http://certificate.fyicenter.com/97_JDK_Keytool_How_to_Find_the_Java_Keytool_on_Windows.html
http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html
- Repaso y conceptos basicos
- Ejercicios para repasar
- Problematica de desarrollo mobile
- Phonegap
- Requerimientos e instalacion
- Phonegap CLI
- [Primeros ejercicios con Phonegap](Ejercicio Phonegap)
- Plugins
- Hello world
- Estructura de un proyecto Phonegap
- Plugin Device
- Debugging
- Incorporando un framework CSS
- Plugin Vibration
- Sumando partes
- Plugin Battery Status
- Un poco de jQuery
- jQuery Mobile
- Navegacion
- Plugin Dashboard
- Revision de Plugin Dashboard
- Paginas extra
- ToDo
- Persistencia
- ToDo Persistente
- Plugin Camera
- Opciones de camara
- App Mi Galeria
- Revision de Galeria
- Plugin File
- Escribir y leer texto
- Escribir archivos binarios
- Guardando fotos
- Debugger: weinre
- Inspeccionar con weinre
- Phonegap Developer App
- Refactor de apps
- Plugin Media
- Pruebas con audio
- Control y monitoreo de audio
- Encapsular play/pausa
- Hacks
- Formato de tiempos
- Grabar y reproducir
- Proyecto Integrador
- Revision de interfaz
- Interfaz basica
- Entrevista: modelo
- Funcionalidad: revision
- Seleccion de framework
- iRec: navegacion
- iRec: fileApi
- iRec: guias
- iRec: entrevistas
- iRec: recordApi
- iRec: helpers
- iRec: mediaApi
- iRec: inicializar paginas
- iRec: refactor
- iRec: mediaApi refactor
- iRec: recordApi refactor
- iRec: helpers
- iRec: guias.js
- iRec: entrevistas.js
- iRec: crear guias
- iRec: re-inicializando
- iRec: re-ordenando
- iRec: pendientes
- iRec: reporte ux
- iRec:revision: volver
- iRec:entrevista: volver
- iRec:revision: cambios
- iRec:revision: stop
- iRec:revision: Rew 10"
- iRec:revision: tag Go
- iRec: limpieza
- Firma de apps
- Android
- Generacion de key
- Firma de apk
- Alineacion de zip
- Firmar con Phonegap
- iOS
- Detalles finales
- Config.xml
- Iconos
- Splash