Festival de la compilación

En este segundo episodio usamos Gradle para compilar un proyecto de libGDX en escritorio, Android y web/GWT, tanto desde la línea de comandos como desde Eclipse. Así podremos probarlo donde sea* cuando nos apetezca.

En esta ocasión nos sumergimos en el proceso de compilar y ejecutar proyectos con LibGDX, abarcando las plataformas de escritorio, Android y web, utilizando Gradle y Eclipse como herramientas principales. Empezamos por entender la importancia de Gradle, que nos permite compilar desde la terminal sin depender de un IDE específico, lo que abre la puerta a automatizaciones y a trabajar con el editor que prefiramos, desde Eclipse hasta editores de texto simples.

Para compilar en escritorio, utilizamos el comando desktop:run a través de Gradle. Esto implica navegar a la carpeta del proyecto y ejecutar ./gradlew desktop:run en Linux o gradlew.bat desktop:run en Windows. Aunque Gradle es muy potente, su principal inconveniente es la lentitud, ya que cada ejecución requiere configurar el proyecto y resolver dependencias, lo que puede tomar un tiempo considerable incluso en proyectos simples. Sin embargo, una vez compilado, el programa se ejecuta sin problemas.

Si queremos compartir nuestro juego, podemos empaquetarlo en un archivo .jar con el comando desktop:dist. Este archivo incluye todas las librerías necesarias, tanto de LibGDX como las nativas, por lo que es independiente y listo para ejecutarse en cualquier sistema compatible con Java. En Linux, es importante recordar dar permisos de ejecución con chmod antes de abrirlo.

Pasando a Android, tenemos dos opciones para probar nuestro juego: usar un emulador o un dispositivo real. En este caso, optamos por el teléfono real, que suele ser más rápido y eficiente. Para ello, es fundamental activar el modo de depuración USB en el dispositivo. En versiones antiguas de Android, esta opción está directamente en el menú de aplicaciones, pero en versiones 4.3 y 4.4 está oculta por defecto. Para mostrarla, debemos ir a Acerca del teléfono y pulsar siete veces sobre el número de compilación hasta que se activen las opciones de desarrollo. Luego, dentro de estas opciones, activamos la depuración USB.

Con el teléfono conectado y autorizado para la depuración, podemos instalar y ejecutar la aplicación con Gradle usando el comando ./gradlew android:installDebug. Esto compila e instala la aplicación en el dispositivo, permitiéndonos ver el juego funcionando en un entorno real. Aunque el proyecto de ejemplo es básico y no interactivo, este paso es crucial para comenzar a desarrollar y probar funcionalidades específicas para móviles.

Para la plataforma web, LibGDX utiliza GWT (Google Web Toolkit) para compilar el código Java a JavaScript. El comando para iniciar el servidor de desarrollo es ./gradlew html:superDev. Este proceso es el más lento de todos, ya que implica compilar una gran cantidad de código y levantar un servidor local en el puerto 8080. Una vez listo, accedemos a localhost:8080/html en el navegador para ver el juego en acción. Este modo permite refrescar el proyecto sin reiniciar el servidor, facilitando la detección y corrección rápida de errores durante el desarrollo.

En cuanto a Eclipse, aunque hemos mostrado cómo usar Gradle desde la terminal, también podemos integrar estos procesos en el IDE para mayor comodidad. Para ejecutar en escritorio, simplemente navegamos al archivo principal y lo ejecutamos. Para Android, con el dispositivo conectado, usamos la opción Run as Android Application. Para la compilación web, configuramos una herramienta externa en Eclipse que ejecute el comando gradlew html:superDev, permitiendo compilar y lanzar el servidor directamente desde el entorno de desarrollo.

Es importante destacar que para la compilación web ya no es necesario tener instalado el plugin de Google para GWT, como ocurría en versiones anteriores de LibGDX. Gradle se encarga de todo el proceso, simplificando el flujo de trabajo.

Por último, aunque no se ha tratado aquí, la compilación para iOS queda fuera de este recorrido debido a la necesidad de un Mac y un dispositivo Apple, que no están disponibles en este momento. Sin embargo, toda esta información está bien documentada en la wiki oficial de LibGDX, que es un recurso valioso para profundizar en estos temas.

# Compilar y ejecutar en escritorio
./gradlew desktop:run

# Empaquetar en un archivo jar para escritorio
./gradlew desktop:dist

# Instalar y ejecutar en dispositivo Android
./gradlew android:installDebug

# Iniciar servidor de desarrollo para web
./gradlew html:superDev

Con estas herramientas y comandos dominados, estamos listos para avanzar en el desarrollo con LibGDX, probando nuestros juegos en múltiples plataformas y aprovechando la flexibilidad que nos ofrece Gradle y Eclipse.

Lista de reproducción
  1. 1
    Instalación y creación de proyectos
    20 minutos
  2. 2
    Festival de la compilación
    21 minutos
  3. 3
    Dibujar por pantalla
    30 minutos
  4. 4
    Procesando entrada
    26 minutos
  5. 5
    Más tipos de imagen
    28 minutos
  6. 6
    Más tipos de entrada
    33 minutos
  7. 7
    Control de resolución
    26 minutos
  8. 8
    Scene2D
    alrededor de 1 hora
  9. 9
    Scene2D UI (parte 1)
    44 minutos
  10. 10
    Scene2D UI (parte 2)
    32 minutos
  11. 11
    Código dependiente de la plataforma
    8 minutos
  12. 12
    Ejecutar código de Android (1/2)
    11 minutos
  13. 13
    Ejecutar código en Android (2/2)
    10 minutos
  14. 14
    Usando el log
    9 minutos
  15. 15
    Internacionalización y localización (1/2)
    9 minutos
  16. 16
    Internacionalización y localización (2/2)
    10 minutos
  17. 17
    Crear juegos con gdx-liftoff y libGDX
    7 minutos