En la actualidad, el desarrollo de vídeojuegos indie con pocos recursos se enfoca en la plataforma de Android. Tanto por su facilidad para la obtención de ganancias vía anuncios o micro-pagos, como por la esperanza de que al ser un juego liviano en un dispositivo portátil, no sea rechazado e ignorado.
Entre las plataformas disponibles para exportar un proyecto desde Godot, tenemos Android como opción. En el artículo de hoy voy a tratar de despejar las dudas que pueden surgir al momento de querer hacer una exportación para dicha plataforma. Con suerte y una buena conexión a internet, hoy estarán probando su primera APK en un teléfono.
NOTA: En Godot 3.0.2 las exportaciones APK no funcionan en teléfonos/tablets que tengan OpenGL 2 (gless2), sólo es para dispositivos OpenGL 3 (gless3). Generalmente los dispositivos con esta versión son de gamma alta y media/alta. Sin embargo, los desarrolladores de Godot se encuentran trabajando en una nueva versión 3.1 en la que incluirán nuevamente capacidad y soporte para los dispositivos de gamma baja con OpenGL 2.
Descargas necesarias:
Vamos a descargar muchas cosas para poder realizar exportaciones a Android desde nuestra computadora, esto es un proceso igual para otros motores como GameMaker: Studio o Unity, no es culpa de Godot tanto almacenamiento consumido. Aviso desde ya que son muchos los megas para descargar, si eres de Venezuela o tienes una conexión lenta, recomiendo que lo hagas en la noche. Por el momento, necesitaremos lo siguiente:
- SDK / Android Studio. Uno de los componentes más importantes, descargando Android Studio se nos instalaran automáticamente el SDK y las APIs que necesitamos como mínimo, además, podremos usar su “SDK Manager” para instalar versiones de Android con las que queramos trabajar.
- JDK. Aunque generalmente ya tenemos instalado Java por defecto en nuestras computadoras, pueden acceder a su web y descargarlo, seleccionando su sistema operativo y arquitectura (x86 o x64).
- Export Templates de Godot: En la web de Godot tenemos un enlace para descargar el paquete que guarda todos los “exports” que podemos realizar. Vamos a descargarlo y lo guardaremos hasta que terminemos de configurar el tema de SDK. Lo encontraremos debajo del enlace de descarga Godot, recuerden que el export_templates debe ser para la misma versión de Godot que están usando.
Cuando tengan instalados los dos primeros componentes, vamos a abrir Android Studio (durante su instalación les debió dar indicaciones sobre los SDK que iba a descargar, descarguen todo eso). Cuando entremos, vamos a crear un nuevo proyecto, no importa su configuración, sólo debemos crearlo.
Tardará un poco, al crearse tendremos algo como esto:
En los botones de la parte superior derecha, tenemos que seleccionar el que tiene icono de descargas (se encuentra de tercero de derecha a izquierda y se llama SDK Manager):
Al hacer clic veremos lo siguiente:
Van a marcar con un gancho las mismas APIs que yo, el NDK es importante y algunas APIs ya se habrán descargado durante la instalación de Android Studio (Si ya las tienen con un gancho sin haber tocado, es porque están instaladas, déjenlas así).
Después de marcar las mismas APIs que yo tengo instaladas, hagan clic en OK y acepten los términos para empezar a descargar:
Configurar las rutas
Ahora que tenemos todo lo necesario, vamos a entrar en Godot y buscamos las “ajustes de editor”:
En sus pestañas, seleccionamos Android:
Debemos seleccionar la ruta de Adb, Jarsigner y la KeyStore. En mi distribución de Linux se creó una carpeta llamada “Android” donde se encuentran los directorios necesarios.
Aunque no tengo un sistema operativo Windows, me parece que pueden encontrar la carpeta “Android” en el administrador de archivos de aplicaciones, el lugar a donde van todos los programas instalados en 64 bits. Ya dentro, debe ser como lo que muestro en mi imagen.
Para acceder al Adb vamos a entrar en la carpeta “SDK” dentro de “Android” y después buscamos la carpeta de “platform-tools”. Android>Sdk>platform-tools>adb
Ahora tenemos que seleccionar el Jarsigner, si descargaron el .zip de Android Studio, lo van a encontrar dentro de la careta descomprimida:
Dentro de esa carpeta “Jre” tenemos que buscar la carpeta “bin”, ahí ya tenemos el jarsigner.
Ya conocen las rutas para los dos primeros. Pueden buscar en internet como generar esas keys para android, pero por ahora vamos a hacer una para salir del paso, usando el comando que nos deja la documentación oficial de Godot:
En la terminal (cmd para Windows) ponen lo siguiente:
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
Si no se encontraban dentro de ningún directorio, se habrá creado en la carpeta “home”.
Agarren ese archivo que se ha creado y llévenlo a la carpeta de proyecto, después, cuando este dentro, ponen la ruta.
Export Templates
Tengan preparada la ruta del paquete de export templates que descargamos arriba. En la pestaña de “Editor” buscamos la opción de “Cargar Plantilla de Exportación”
Ahora le damos a instalar desde un archivo y buscamos el paquete.
Exportar y dormir
Si has llegado hasta aquí, te felicito. Ya sólo tienes que exportar. En la parte de “Proyecto” seleccionamos “Exportar”:
Buscamos la plataforma de Android al añadir un nuevo dispositivo:
Y tendremos todos los parámetros por configurar. Si sólo quieren hacer la prueba para saber que pueden exportar cualquier APK, dejen todo por defecto y hagan clic en “Exportar Proyecto”.
ACTUALIZACIÓN A GODOT 3.1. Ahora es obligatorio que escribas un Unique Name para tu aplicación. Puede ser como esto: com.indielibre.juegoindie
Tienen que exportar su APK en la misma carpeta donde tengan el debug.keystore, si la tienen en la carpeta de proyecto (como dije arriba) sitúense en la carpeta de su proyecto y hagan clic en “Guardar”.
Ya tienen su APK y pueden probar en su teléfono/tablet el proyecto. Quiero agradecer a FuryCode por facilitar toda la información necesaria, pasen por su canal de Youtube para ver más tutoriales en vídeo.
Si tienen un problema déjenlo en los comentarios y voy a tratar de solucionarlo.
Hola. ¿Cómo estás?
Una vez generada la APK desde Godot, no me deja instalarla en mi celular; me sale que la apk está dañada. Es la primera vez que tengo problemas para instalar una APK de fuente “desconocida” en mi celular. Gracias.
Saludos.
Hola compañero. ¿Ya has instalado todas las librerías que menciono en el artículo? Comprueba también que no haya un archivo en tu carpeta de proyecto con un acento o carácter extraño.
Hola , tengo el mismo problema. Pudiste resolverlo?
Ese error también puede darse porque no generaste una KeyStore o no le pusiste el Unique Name al juego mientras exportabas amigo.
Hola. Tengo un problema, me exporta normalmente el apk, pero al abrirlo en mi celular, sale el logo de godot parpadeando un par de veces y se cierra. ¿Sabes debido a qué es ello? Ayúdame 🙁
Hola amigo. Es probable que no hayas configurado la escena principal. También se da ese problema cuando ejecutas en un teléfono con GLESS2 un proyecto que se exportó con GLESS3.
Hola Cesar.
me podrías ayudar, cuando exporto para Android, instala y funciona de forma correcta.
estoy usando el sdk de linea de comandos, yo seguí la documentación oficial de godot, pero cuando agrego el plugin de admob, el apk instala normal, aunque aparece un mensaje que dice que google play protec no conoce al desarrollador de la app, elijo la opción de instalar de todas formas e instala,.
Pero cuando intento abrir la app, ella se cierra automáticamente y aparece un error, también los dos archivos que hay que crear con keytool, están en orden, ya use el gless 2 y 3, y ya seguí documentación en varios idiomas.
Los errores al iniciar generalmente eran por Gless o por no tener configurada una escena principal. Pero quizás sea la versión de admob? Lo siento, todavía no he usado ese componente así que no te sabría decir :(.
en el SDK tools ya no se encuentra el Support Repository