Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Exportación para Android

Ver también

Esta página describe cómo exportar un proyecto de Godot a Android. Si estás buscando compilar plantillas de exportación binarias desde la fuente en su lugar, lee Compilando para Android.

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

Atención

Projects written in C# can be exported to Android as of Godot 4.2, but support is experimental and some limitations apply.

Install OpenJDK 17

Download and install OpenJDK 17.

Descargar el SDK de Android

Descargar e instalar el Android SDK.

  • You can install the Android SDK using Android Studio version 4.1 or later.

    • Ejecútalo una vez para completar la preparación del SDK usando éstas instrucciones.

    • Asegúrese de que los paquetes necesarios estén instalados también.

      • Android SDK Platform-Tools versión 30.0.5 o posterior

      • Android SDK Build-Tools version 33.0.2

      • Android SDK Platform 33

      • Herramientas de línea de comandos del SDK de Android (más reciente)

      • CMake versión 3.10.2.4988404

      • NDK version r23c (23.2.8568313)*

  • Alternatively, you can install the Android SDK using the command line tools.

    • Una vez que las herramientas de línea de comando estén instaladas, ejecute el comando sdkmanager para terminar el proceso de instalación:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;33.0.2" "platforms;android-33" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"

Nota

Si está usando Linux, ** no use un SDK de Android proporcionado por los repositorios de su distribución, ya que a menudo estará desactualizado **.

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 el directorio ~/.android en Linux y macOS, en el directorio C:\Users\<user>\.android\ en Windows).

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

This will create a debug.keystore file in your current directory. You should move it to a memorable location such as %USERPROFILE%\.android\, because you will need its location in a later step. For more information on keytool usage, see this Q&A article.

Nota

It is important that the password is the same for the keystore and the key. This is a known Android studio issue that also affects Godot projects.

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 esa pantalla, se deben de establecer 2 rutas:

  • La ruta de Android Sdk debería de ser la ubicación en donde el Android SDK fue instalado. - Por ejemplo %LOCALAPPDATA%\Android\Sdk\ en Windows o /Users/$USER/Library/Android/sdk/ en macOS.

  • 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!

Nota

Si obtiene un error que dice "No se pudo instalar en el dispositivo ", asegúrese de que no tiene una aplicación con el mismo nombre de paquete Android ya instalada en el dispositivo (pero firmada con una clave diferente).

Si tiene una aplicación con el mismo nombre de paquete de Android pero con una clave de firma diferente ya instalada en el dispositivo, debe eliminar la aplicación en cuestión del dispositivo Android antes de volver a exportarla 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 -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.

No olvide desmarcar la casilla de verificación Exportar con depuración durante la exportación.

../../_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 Optimizando una compilación para reducir el tamaño para más información.

Variables de entorno

You can use the following environment variables to set export options outside of the editor. During the export process, these override the values that you set in the export menu.

Android export environment variables

Export option

Environment variable

Encryption / Encryption Key

GODOT_SCRIPT_ENCRYPTION_KEY

Options / Keystore / Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Options / Keystore / Debug User

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Options / Keystore / Debug Password

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Options / Keystore / Release

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Options / Keystore / Release User

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Options / Keystore / Release Password

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD