miércoles, 8 de octubre de 2014

Firma y distribución de aplicaciones

El archivo necesario para poder distribuir una app Android es el APK. Se trata de un formato de fichero comprimido que contiene todo el código compilado y los recursos del proyecto de aplicación Android para poder ser ejecutado en un dispositivo compatible. La compatibilidad del dispositivo con una app depende de la versión del sistema operativo del mismo, que debe soportar la versión de SDK, características de la app y APIs requeridas que se establecen en el AndroidManifest.
Los ficheros APK pueden distribuirse libremente a través del sistema de almacenamiento del dispositivo, descargando desde un correo electrónico o desde una URL. Para que un fichero de app pueda instalarse y ejecutarse en un dispositivo debe estar firmado por un certificado. Existen dos modos de firma, modo debug que es el que emplea por defecto el entorno de desarrollo, y modo release  que requiere de un certificado de desarrollador Android. Este último modo de firma es el requerido para subir una app a Google Play.

Lo mínimo necesario

Modo debug:
  • Obtener el archivo APK: cuando desde el entorno de desarrollo ADT Bundle se ejecuta un proyecto de aplicación Android (ya sea empleando dispositivo o emulador), en la carpeta bin del proyecto se genera automáticamente un APK válido. También se puede exportar el archivo de forma manual siguiendo los siguientes pasos (Windows):
    1. Botón derecho del ratón sobre el proyecto en el explorador de proyectos
    2. Seleccionar opción Export
    3. Seleccionar opción Android  > Export Android Application
    4. Aparecerá el nombre del proyecto, pulsar Siguiente
    5. Localizar la ubicación del keystore debug. Habitualmente se encuentra en la ruta \Users\Usuario\.android\debug.keystore
    6. La password por defecto es android, escribirla y pulsar siguiente
    7. Seleccionar el alias, en este caso androiddebugkey, y de nuevo introducir la misma password
    8. Seleccionar nombre y destino del fichero APK
  • Distribuir: enviar al dispositivo por alguno de los medios descritos. Al seleccionar el fichero comenzará el proceso de instalación.

Modo release:
  • Obtener un certificado de desarrollo: para ello es necesario emplear la herramienta keytool. Dicha herramienta pertenece al SDK Java, no es exclusiva de Android. Este mismo certificado servirá para todas las APKs que se vayan a generar y publicar por el mismo desarrollador, e imprescindible para subir actualizaciones a la tienda. Los pasos son los siguientes (se considera que la variable Path para la JDK está correctamente configurada):
    1. Abrir una consola Windows
    2. Ir a la carpeta de los certificados, habitualmente \Users\Usuario\.android
    3. Crear el certificado especificando el nombre del archivo de claves, el alias, tamaño de clave y validez en días (imprescindible al menos 20 años). Durante el proceso se solicitarán una serie de datos del desarrollador, y la password para la firma.
keytool -genkey -v -keystore my-release-key.keystore -alias myreleasekey -keyalg RSA -keysize 2048 -validity 10000


  • Obtener el archivo APK: en este caso es necesario exportar el fichero APK de forma manual. El proceso a seguir es el mismo del apartado anterior, pero empleando el keystore generado en el paso anterior (con sus passwords asociados)
  • Distribuir: un APK en modo release se puede distribuir de la misma forma que uno debug. Habitualmente este modo se emplea para subir el APK a Google Play, junto con el resto de requerimientos para la publicación (textos descriptivos, imágenes, tipo de aplicación, coste, …)

No hay comentarios:

Publicar un comentario