Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Compilando para Android¶
Ver también
Esta página describe cómo compilar binarios de plantillas de exportación de Android desde el código fuente. Si estás buscando exportar tu proyecto a Android, lee Exportación para Android.
Nota¶
En la mayoría de los casos, usar el desplegador incorporado y las plantillas de exportación es suficiente. Compilar el APK de Android manualmente es principalmente útil para compilaciones personalizadas o paquetes personalizados para el desplegador.
También es necesario seguir los pasos mencionados en el tutorial Exportación para Android antes de intentar construir una plantilla de exportación personalizada.
Requerimientos¶
Para compilar en Windows, Linux o macOS, se requiere lo siguiente:
El sistema de construcción SCons 3.0+.
Android SDK (las herramientas de línea de comandos son suficiente).
Los componentes del SDK necesarios se instalarán automáticamente.
- En Linux,
do not use an Android SDK provided by your distribution's repositories as it will often be outdated.
Gradle (se descargará e instalará automáticamente si falta).
JDK 17 (either OpenJDK or Oracle JDK).
You can download a build from ojdkbuild.
Ver también
Para obtener el código fuente de Godot para compilarlo, consulta la sección Consiguiendo el código fuente.
Para obtener una visión general del uso de SCons para Godot, consulta la sección Introducción al sistema de compilación.
Configurando el sistema de construcción¶
Set the environment variable
ANDROID_HOME
to point to the Android SDK. If you downloaded the Android command-line tools, this would be the folder where you extracted the contents of the ZIP archive.Instala los componentes necesarios del SDK en esta carpeta:
Acepta las licencias de los componentes del SDK ejecutando el siguiente comando donde
android_sdk_path
es la ruta al SDK de Android y luego respondiendo todas las solicitudes cony
:
cmdline-tools/latest/bin/sdkmanager --sdk_root=<android_sdk_path> --licenses
Completa la configuración ejecutando el siguiente comando donde
android_sdk_path
es la ruta al SDK de Android.
cmdline-tools/latest/bin/sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404"
Ver también
Para configurar la variable de entorno en Windows, presiona Windows + R, escribe "control system" y luego haz clic en Configuración avanzada del sistema en el panel izquierdo. A continuación, haz clic en Variables de entorno en la ventana que aparece.
Ver también
To set the environment variable on Linux or macOS, use
export ANDROID_HOME=/path/to/android-sdk
where /path/to/android-sdk
points to
the root of the SDK directories.
Construyendo las plantillas de exportación¶
Godot necesita dos plantillas de exportación para Android: la plantilla optimizada "release" (android_release.apk
) y la plantilla de depuración (android_debug.apk
). Como Google requerirá que todos los APKs incluyan bibliotecas ARMv8 (64 bits) a partir de agosto de 2019, los comandos a continuación construirán un APK que contiene tanto bibliotecas ARMv7 como ARMv8.
La compilación de las plantillas de exportación estándar se realiza llamando a SCons desde el directorio raíz de Godot con los siguientes argumentos:
Release template (se utiliza al exportar con Debugging Enabled apagado)
scons platform=android target=template_release arch=arm32
scons platform=android target=template_release arch=arm64
cd platform/android/java
# On Windows
.\gradlew generateGodotTemplates
# On Linux and macOS
./gradlew generateGodotTemplates
El APK resultante se ubicará en bin/android_release.apk
.
Debug template (se utiliza cuando se exporta con Debugging Enabled encendido)
scons platform=android target=template_debug arch=arm32
scons platform=android target=template_debug arch=arm64
cd platform/android/java
# On Windows
.\gradlew generateGodotTemplates
# On Linux and macOS
./gradlew generateGodotTemplates
El APK resultante se ubicará en bin/android_debug.apk
.
Ver también
If you want to enable Vulkan validation layers, see Vulkan validation layers on Android.
Añadir soporte para dispositivos x86¶
If you also want to include support for x86 and x86-64 devices, run the SCons
command a third and fourth time with the arch=x86_32
, and
arch=x86_64
arguments before building the APK with Gradle. For
example, for the release template:
scons platform=android target=template_release arch=arm32
scons platform=android target=template_release arch=arm64
scons platform=android target=template_release arch=x86_32
scons platform=android target=template_release arch=x86_64
cd platform/android/java
# On Windows
.\gradlew generateGodotTemplates
# On Linux and macOS
./gradlew generateGodotTemplates
Esto creará un binario universal que funciona en todas las plataformas. El tamaño final del APK de los proyectos exportados dependerá de las plataformas que elijas para soportar al exportar; en otras palabras, las plataformas no utilizadas se eliminarán del APK.
Limpiando las plantillas de exportación generada¶
Puedes utilizar los siguientes comandos para eliminar las plantillas de exportación generadas:
cd platform/android/java
# On Windows
.\gradlew clean
# On Linux and macOS
./gradlew clean
Usando las plantillas de exportación¶
Godot necesita APKs de lanzamiento y depuración que se hayan compilado con la misma versión o commit que el editor. Si estás utilizando binarios oficiales del editor, asegúrate de instalar las plantillas de exportación coincidentes o construye las tuyas propias a partir de la misma versión. Esto garantizará la compatibilidad entre el editor y las plantillas de exportación para un correcto funcionamiento.
Al exportar tu juego, Godot abre el APK, cambia algunas cosas dentro y añade tus archivos.
Instalando las plantillas¶
Las plantillas recién compiladas (android_debug.apk
y android_release.apk
) deben ser copiadas a la carpeta de plantillas de Godot con sus respectivos nombres. La carpeta de plantillas puede estar ubicada en:
Windows:
%APPDATA%\Godot\export_templates\<version>\
Linux:
$HOME/.local/share/godot/export_templates/<version>/
macOS:
$HOME/Library/Application Support/Godot/export_templates/<version>/
<versión>
tiene el formato mayor.menor[.parche].estado
utilizando los valores de version.py
en tu repositorio de código fuente de Godot (por ejemplo, 3.0.5.stable
o 3.1.dev
). También debes escribir esta misma cadena de versión en un archivo llamado version.txt
que se encuentra junto a tus plantillas de exportación.
Sin embargo, si estás escribiendo tus propios módulos personalizados o código C++ personalizado, es posible que desees configurar tus APKs como plantillas de exportación personalizadas aquí:
No es necesario ni siquiera copiarlos, simplemente puedes hacer referencia al archivo resultante en el directorio bin\
de la carpeta de origen de Godot, de modo que la próxima vez que construyas, tendrás automáticamente las plantillas personalizadas referenciadas.
Building the Godot editor¶
Compiling the editor is done by calling SCons from the Godot root directory with the following arguments:
scons platform=android arch=arm32 production=yes target=editor
scons platform=android arch=arm64 production=yes target=editor
scons platform=android arch=x86_32 production=yes target=editor
scons platform=android arch=x86_64 production=yes target=editor
cd platform/android/java
# On Windows
.\gradlew generateGodotEditor
# On Linux and macOS
./gradlew generateGodotEditor
The resulting APK will be located at bin/android_editor_builds/android_editor-release.apk
.
Removing the Editor templates¶
You can use the following commands to remove the generated editor templates:
cd platform/android/java
# On Windows
.\gradlew clean
# On Linux and macOS
./gradlew clean
Installing the Godot editor¶
With an Android device with Developer Options enabled, connect the Android device to your computer via its charging cable to a USB/USB-C port. Open up a Terminal/Command Prompt and run the following commands from the root directory with the following arguments:
adb install ./bin/android_editor_builds/android_editor-release.apk
Solución De Problemas¶
Plataforma no aparece en SCons¶
Double-check that you've set the ANDROID_HOME
environment variable. This is required for the platform to appear in SCons'
list of detected platforms.
See Setting up the buildsystem
for more information.
Aplicación no instalada¶
Android podría mostrar un mensaje indicando que la aplicación no está instalada correctamente. Si esto sucede:
Verifica que el almacén de claves de depuración (debug keystore) esté correctamente generado.
Revisar que el ejecutable jarsigner es de JDK 8.
Si aún falla, abre una línea de comandos y ejecuta logcat:
adb logcat
Luego, revisa la salida mientras la aplicación está instalada; el mensaje de error debería aparecer allí. Si no puedes resolverlo, busca ayuda para solucionar el problema.
La aplicación se cierra inmediatamente¶
Si la aplicación se ejecuta pero se cierra inmediatamente, esto podría deberse a una de las siguientes razones:
Asegúrate de utilizar plantillas de exportación que coincidan con la versión de tu editor; si utilizas una nueva versión de Godot, debes actualizar también las plantillas.
libgodot_android.so
is not inlibs/<arch>/
where<arch>
is the device's architecture.La arquitectura del dispositivo no coincide con la(s) arquitectura(s) exportada(s). Asegúrate de que tus plantillas hayan sido compiladas para la arquitectura del dispositivo y que la configuración de exportación incluya soporte para esa arquitectura.
En cualquier caso, adb logcat
también debería mostrar la causa del error.