Exportación para Android

Exportar para Android tiene menos requisitos que compilar Godot para él. Los siguientes pasos detallan lo que se necesita para configurar el SDK y el motor.

Descargar el SDK de Android

Descarga e instala el SDK de Android desde developer.android.com.

Si instalas Android Studio, necesitarás ejecutarlo una vez para completar la configuración del SDK.

Instalar OpenJDK 8

Descargue e instale OpenJDK 8, las versiones más nuevas no funcionan.

Crear un debug.keystore

Android necesita un archivo de almacenamiento de claves de depuración para instalarlo en dispositivos y distribuir APKs no liberados. Si has usado el SDK antes y has construido proyectos, ant o eclipse probablemente generó uno para ti (en Linux y macOS, puedes encontrarlo en el directorio ~/.android).

Si no puede encontrar o generar uno, el comando keytool de JDK puede usarse para éste propósito:

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12

Esto creará un archivo debug.keystore en el directorio actual. Deberás moverlo a alguna ubicación que vayas a recordar como %USERPROFILE%\.android\, porque necesitarás esta ubicación en un paso posterior. Para más información sobre el uso de keytool, ver este artículo del Q&A.

Asegúrate de que tienes adb

Android Debug Bridge (adb) es la herramienta de línea de comandos utilizada para comunicarse con dispositivos Android. Se instala con el SDK, pero es posible que necesites instalar uno (cualquiera) de los niveles de la API de Android para que se instale en el directorio del SDK.

Instalándolo en Godot

Acceda a la pantalla Ajustes del editor. Esta pantalla contiene la configuración del editor para la cuenta de usuario en la computadora (es independiente del proyecto).

../../../_images/editorsettings.png

Desplázate hacia abajo hasta la sección donde se encuentra la configuración de Android:

../../../_images/androidsdk.png

En esta pantalla, se debe establecer la ruta a 3 archivos:

  • El ejecutable adb (adb.exe en Windows) - Se encuentra normalmente en %LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe.
  • El ejecutable jarsigner (de JDK 6 u 8) - En Windows, OpenJDK lo instala en un directorio como %PROGRAMFILES%\ojdkbuild\java-1.8.0-openjdk-1.8.0.232-2\bin. En Linux, se instala típicamente en un directorio como /usr/bin/jarsigner. La ruta exacta puede variar dependiendo de la actualización de OpenJDK que tengas instalada y el sistema operativo utilizado.
  • El archivo debug .keystore - Puede ser encontrado en la carpeta donde has colocado el archivo debug.keystore creado anteriormente.

Una vez configurado ¡todo está listo para exportar a Android!

Proporcionando íconos de inicio

Los iconos de inicio son usado por aplicaciones de inicio en Android para representar aplicaciones a los usuarios. Godot sólo requiere iconos de alta resolución (para pantallas de densidad xxxhdpi) y generará automaticamente las variantes de menor resolución.

Hay dos tipos de iconos requeridos por Godot:

  • Main Icon: El icono "clásico". Este será usado en todas las versiones de Android hasta Android 8 (Oreo), excluido. Debe tener al menos 192×192 px.
  • Iconos adaptivos: Comenzando desde Android 8 (inclusive), fueron introducidos los Iconos Adaptivos. Las aplicaciones necesitarán incluir íconos de segundo y primer plano separados para tener un aspecto nativo. La aplicación de inicio controlará la animación y la máscara. Debe tener al menos 432×432 px.

Ver también

Es importante adherirse a ciertas reglas cuando se diseñan iconos adaptivos. Google Design tiene un buen artículo al respecto (en inglés) que puede servir para entender esas reglas y algunas de las capacidades de los iconos adaptivos.

Prudencia

La regla más importante para diseño de iconos adaptivos es que los elementos críticos de tu icono se encuentren en la parte segura: un círculo centrado con un diámetro de 66dp (264 píxeles en xxxhdpi) para evitar que sea cortado por el lanzador.

Si no provees algunos de los iconos requeridos, Godot los reemplazará usando una cadena de fallbacks, tratando el siguiente en la línea cuando el actual falla:

  • Main Icon: Icono principal provisto -> Icono de projecto -> Icono principal por defecto de Godot.
  • Adaptive Icon Foreground: Icono de primer plano provisto -> Icono principal provisto -> Icono de proyecto -> Icono por defecto de primer plano de Godot.
  • Adaptive Icon Background: Icono de segundo plano provisto -> Icono de segundo plano por defecto de Godot.

Es altamente recomendado proveer todos los iconos requeridos, al menos en la resolución especificada. Este es el único modo en que la aplicación sea vea bien en todos los dispositivos y versiones de Android.

Exportar para la Google Play Store

Subir un APK a Google Play Store requiere que sea firmado usando un archivo keystore non-debug, el cual puede generarse así:

keytool -v -genkey -v -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

Este keystore y su clave se utilizan para verificar la identidad de su desarrollador, recuerda la contraseña y guárdala en un lugar seguro. Utiliza las guías de Google para desarrolladores de Android para obtener más información sobre APK signing.

Ahora rellena los siguientes formularios en tus opciones predeterminadas de exportación Android:

../../../_images/editor-export-presets-android.png
  • Release: Introduce la dirección a el archivo de almacén de claves que acabas de generar.
  • Release User: Reemplaza con el alias de la clave.
  • Release Password: contraseña de la clave. Ten en cuenta que la contraseña del almacén de datos y la contraseña de la clave tienen que ser iguales.

Ahora tu archivo export_presets.cfg contiene información sensible. Si estás usando un sistema de control de versiones, es una buena idea removerlo de repositorios públicos y agregarlo a tu archivo .gitignore o equivalente.

No olvides desmarcar el botón Exportar con Depuración al seleccionar el nombre del APK.

../../../_images/export-with-debug-button.png

Optimizando el tamaño del APK

Por defecto, el APK contendrá librerías nativas para ambas arquitecturas, ARMv7 y ARMv8. esto incrementa el tamaño significativamente. Para crear un APK más pequeño, desmarca Armeabi-v 7a o Arm 64 -v 8a en tu export preset de Android en el proyecto. Esto creará un APC que sólo contiene las librerías para una única arquitectura. Nota que aplicaciones que apunten a ARMv7 también funcionarán en ARMv8, lo opuesto no funcionará.

Desde agosto de 2019, Google Play requiere que todas las aplicaciones estén es la forma 64-bit. Esto quiere decir que no puedes subir una APK que sólo contenga librerías ARMv7. Para resolver esto, puedes subir varias APKs a Google Play usando su soporte para Multiple APK. Cada APK debe apuntar a una arquitectura en particular; creando un APK para ARMv7 y ARMv8 normalmente es suficiente para cubrir la mayoría de los dispositivos en uso hoy día.

Puedes optimizar el tamaño compilando un template de exportación de Android que tenga sólo las características que necesitas. Lee Optimizing a build for size para más información.