Thursday, March 6, 2014

ABP Saturdays: Juguete


El sábado pasado (como ya va siendo habitual), nos reunimos en el Android Best Practices Saturdays con el objetivo de finalizar el script de Gradle para Juguete y empezar a programa la aplicación. Sin embargo, al final del día aprendimos que IntelliJ, Android Studio y Gradle no son tan fáciles de combinar, y fue todo un reto que todo el mundo tuviera su proyecto funcionando.

El primer problema fueron las configuraciones que hace se serie Android Studio pero que obvia IntelliJ. Por ejemplo, IntelliJ crea un fichero local.properties en la raíz del proyecto, con la propiedad sdk.dir apuntando al directorio del sistema donde se encuentra el SDK de Android. También se puede utilizar la variable de sistema ANDROID_HOME, pero a alguno de nosotros nos daba problemas. Otras cosas que no configuró de serie IntelliJ fueron el SDK específico con el que se compila cada modulo, y los directorios de código y de recursos.

En cualquier caso, una vez hecho el primer script funcional de Gradle, se puede hacer una task Wrapper, e invocarla, de forma que empaquete la distribución de este y su configuración, y la importación en IntelliJ posteriormente sea muy sencilla diciendo que utilizaremos la distribución de Gradle customizada.

En cuanto a las dependencias, fue bastante directo añadirlas al encontrarse prácticamente todas en el repositorio central de maven. La única que nos dio un poco más de guerra fue la de Appsly Android REST, precisamente al estar en su propio repositorio.

Fuera de tiempo nos quedaron los flavors, que por otra parte, todavía no tiene mucho sentido que los apliquemos (pues dependen del código que vayamos haciendo), aunque en las imágenes del post podéis ver los que pensamos que podían ser interesantes.

Como al menos ya podemos importar el proyecto, aunque ahora mismo solo sea un HelloWorld, ya está subido a GitHub y lo podéis encontrar aquí. El repositorio está cerrado sólo a colaboradores, y no hay colaboradores directos, por lo que la forma de trabajar con él es hacer un fork y luego enviar los pull request. Nos queda pendiente establecer el sistema de revisión y aprobación de pull request, pero ya lo iremos haciendo sobre la marcha.


Para la próxima reunión del grupo (¡este sábado!), abordaremos el tema de que arquitectura debemos seguir para poder trabajar todos a la vez (idealmente) en el proyecto, y comenzaremos a darle forma a Juguete. ¡Os esperamos!

No comments:

Post a Comment