Curso 12/13 Desarrollo de Aplicaciones Android Construcción y Empaquetado Desarrollo de aplicaciones Android Contenidos El proceso de construcción ● Firmado de aplicaciones ● Comandos para firma y «stripeado» ● Publicación ● Construcción y empaquetado © Grupo Arco 2 Desarrollo de aplicaciones Android Proceso de construcción Construcción y empaquetado © Grupo Arco 3 Desarrollo de aplicaciones Android Proceso de construcción ● ● ● ● ● ● aapt compila los ficheros de recursos (XML) y produce un fichero R.java para usarlos desde el programa El compilar de java genera los ficheros .class para todos los fuentes. dex genera bytecode compatible con Dalvik. apkbuilder empaqueta los ficheros .dex junto con los ficheros auxiliares: imágenes, audio. El fichero .apk debe ser firmado antes de instalarlo en el dispositivo. Si es una versión de producción se eliminar información de depuración (strip) con zipalign. Construcción y empaquetado © Grupo Arco 4 Desarrollo de aplicaciones Android Proceso de construcción Construcción y empaquetado © Grupo Arco 5 Desarrollo de aplicaciones Android Proceso de construcción Construcción y empaquetado © Grupo Arco 6 Desarrollo de aplicaciones Android Firmado de aplicaciones ● ● ● ● ● Las aplicaciones deben estar firmadas con la clave privada del desarrollador. Durante el proceso desarrollo se utiliza una firma especial (debug key). Para producción se utiliza una clave diferente (release key) específica del programador. Para utilizar Google Play se requiere firmar en modo release. No se requiere una autoridad de certificación. Construcción y empaquetado © Grupo Arco 7 Desarrollo de aplicaciones Android Las firmas son importantes ● ● ● ● Diferentes versiones de un programa deben tener la misma firma o serán consideradas aplicaciones diferentes. Aplicaciones con la misma firma se ejecutan en el mismo proceso y pueden compartir recursos. La firma tiene un período de validez que también influye en el proceso de actualización. Se aconseja un plazo de validez de 25 años! Construcción y empaquetado © Grupo Arco 8 Desarrollo de aplicaciones Android Compilación y firmado con eclipse ● Selecciona tu proyecto ● En File→Export selecciona ● Android→ «Export Android Application» Construcción y empaquetado © Grupo Arco 9 Desarrollo de aplicaciones Android CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 10 Desarrollo de aplicaciones Android Crear la clave privada CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 11 Desarrollo de aplicaciones Android Definir validez y certificado CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 12 Desarrollo de aplicaciones Android Generar APK firmado CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 13 Desarrollo de aplicaciones Android En linea de comandos: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 ant release Gestiona claves y certificados Compila $ jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name Genera y verifica archivos jar firmados CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 14 © Grupo Arco 15 Desarrollo de aplicaciones Android Verificando CEP Introducción a GNU/Linux - José Luis Segura Lucas Desarrollo de aplicaciones Android Optimizando CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 16 Desarrollo de aplicaciones Android Publicación ● Configurar el proyecto en modo «release». ● Construir y firmar. ● Probar la versión de producción. ● Ficheros adicionales. ● Servicios remotos. Construcción y empaquetado © Grupo Arco 17 Desarrollo de aplicaciones Android Bibliografía ● http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/jarsigner.html ● http://developer.android.com/guide/publishing/app-signing.html CEP Introducción a GNU/Linux - José Luis Segura Lucas © Grupo Arco 18