Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Exportation pour Android

Voir aussi

Cette page explique comment exporter un projet Godot vers Android. Si vous cherchez à compiler les binaires du modèle d'exportation depuis le code source, voyez plutôt Compilation pour Android.

L'exportation pour Android a moins d'exigences que la compilation de Godot pour Android. Les étapes suivantes détaillent ce qui est nécessaire pour configurer le SDK Android et le moteur.

Attention

Depuis Godot 4.2 les projets écrit en C# peuvent être exporté vers Android , mais cette fonctionnalité reste expérimental et avec certaines restrictions.

Installer OpenJDK 17

Download and install OpenJDK 17.

Note

Les versions plus récentes du JDK sont aussi supportées, mais nous recommandons d'utiliser la version 17 du JDK pour une compatibilité et une stabilité optimales.

Télécharger le SDK Android

Télécharger et installer le SDK Android.

  • You can install the Android SDK using Android Studio Iguana (version 2023.2.1) or later.

    • Exécutez-le une fois pour terminer la configuration du SDK en utilisant ces instructions.

    • Ensure that the required packages are installed as well.

      • Android SDK Platform-Tools version 35.0.0 or later

      • Android SDK Build-Tools version 35.0.1

      • Android SDK Platform 35

      • Outils en ligne de commande du SDK Android (dernière version)

    • Ensure that the NDK and CMake are installed and configured.

      • CMake version 3.10.2.4988404

      • NDK version r28b (28.1.13356709)

  • Alternatively, you can install the Android SDK with the sdkmanager command line tool.

    • Install the command line tools package using these instructions.

    • Once the command line tools are installed, run the following sdkmanager command to complete the setup process:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;35.0.1" "platforms;android-35" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;28.1.13356709"

Note

Si vous utilisez Linux, n’utilisez pas un Android SDK fourni par les distributeurs de paquets de votre distribution car il sera souvent périmé.

La mise en place dans Godot

Enter the Editor Settings screen (under the Godot tab for macOS, or the Editor tab for other platforms). This screen contains the editor settings for the user account in the computer (it's independent of the project).

../../_images/editorsettings.png

Faites défiler vers le bas jusqu'à la section où se trouvent les paramètres Android :

../../_images/android_editor_settings.webp

Dans cet écran, 2 chemins doivent être définis :

  • Java SDK Path should be the location where OpenJDK 17 was installed.

  • Android SDK Path should be the location where the Android SDK was installed. This directory should contain platform-tools/adb. - For example %LOCALAPPDATA%\Android\Sdk\ on Windows or /Users/$USER/Library/Android/sdk/ on macOS.

Une fois cela configuré, tout est prêt à être exporté vers Android !

Note

Si vous obtenez une erreur indiquant "Could not install to device.", assurez-vous qu'une application portant le même nom de paquet Android n'est pas déjà installée sur l'appareil (mais signée avec une clé différente).

Si une application ayant le même nom de paquet Android mais une clé de signature différente est déjà installée sur l'appareil, vous devez supprimer l'application en question de l'appareil Android avant de l'exporter à nouveau vers Android.

Fournir des icônes de lanceur

Les icônes de lanceur sont utilisées par les applications de lancement Android pour représenter votre application aux utilisateurs. Godot ne nécessite que des icônes à haute résolution (pour les écrans à densité xxxhdpi) et génère automatiquement des variantes à plus faible résolution.

There are three types of icons:

  • Main Icon : : L'icône "classic". Elle sera utilisée sur toutes les versions d'Android jusqu'à Android 8 (Oreo), exclusivement. Doit être au moins 192×192 px.

  • Adaptive Icons: Starting from Android 8 (inclusive), Adaptive Icons were introduced. Applications will need to include separate background and foreground icons to have a native look. The user's launcher application will control the icon's animation and masking. Must be at least 432×432 px.

  • Themed Icons (optional): Starting from Android 13 (inclusive), Themed Icons were introduced. Applications will need to include a monochrome icon to enable this feature. The user's launcher application will control the icon's theme. Must be at least 432×432 px.

Voir aussi

Il est important de respecter certaines règles lors de la conception d'icônes adaptatives. Google Design a fourni un bel article qui aide à comprendre ces règles et certaines des capacités des icônes adaptatives.

Prudence

La règle de conception d'icône adaptative la plus importante est d'avoir les éléments critiques de votre icône à l'intérieur de la zone de sécurité : un cercle centré avec un rayon de 66dp (264 pixels sur xxxhdpi) pour éviter d'être coupé par le lanceur.

If you don't provide the requested icons (except for Monochrome), Godot will replace them using a fallback chain, trying the next in line when the current one fails:

  • Main Icon : Icône principale fournie -> Icône du projet -> Icône principale par défaut de Godot.

  • Adaptive Icon Foreground : Icône de premier plan fournie -> Icône principale fournie -> Icône de projet -> Icône de premier plan par défaut de Godot.

  • Adaptive Icon Background : Icône d'arrière-plan fournie -> Icône d'arrière-plan par défaut de Godot.

Il est fortement recommandé de fournir toutes les icônes demandées avec leurs résolutions spécifiques. De cette façon, votre application sera parfaite sur tous les appareils et versions d'Android.

Exporter pour le Google Play Store

All new apps uploaded to Google Play after August 2021 must be an AAB (Android App Bundle) file.

Uploading an AAB or APK to Google's Play Store requires you to sign using a non-debug keystore file; such a file can be generated like this:

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

This keystore and key are used to verify your developer identity, remember the password and keep it in a safe place! It is suggested to use only upper and lowercase letters and numbers. Special characters may cause errors. Use Google's Android Developer guides to learn more about app signing.

Remplissez maintenant les formulaires suivants dans vos préréglages d'exportation Android :

../../_images/editor-export-presets-android.png
  • Release: Entrez le chemin d'accès au fichier keystore que vous venez de générer.

  • Release User : Remplacer par l'alias de clé.

  • Release Password : Mot de passe de la clé. Notez que le mot de passe du keystore et le mot de passe de la clé doivent actuellement être les mêmes.

N'oubliez pas de décocher la case Export With Debug lorsque vous exportez.

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

Optimizing the file size

Si vous travaillez avec des APK et pas des AABs, par défaut, l'APK contiendra les bibliothèques natives pour les architectures ARMv7 et ARMv8. Cela rend le fichier plus lourd. Pour créer un fichier plus léger, décochez la case Armeabi-v 7a ou Arm 64 -v 8a dans les réglages d'export Android de votre projet. Cela créera un APK qui contiendra les bibliothèques pour une seule architecture. Les applications créées pour ARMv7 peuvent fonctionner sur un appareil ARMv8, mais pas l'inverse. La raison pour laquelle on ne fait pas ça pour gagner de l'espace avec les AABs est que Google sépare automatiquement les AAB dans leur backend, donc l'utilisateur ne télécharge que ce qu'il a besoin.

Vous pouvez encore plus optimiser la taille de votre APK en compilant un modèle d'export Android qui ne contient que les fonctionnalités dont vous avez besoin. Voir Optimiser une compilation pour sa taille pour plus d'informations.

Variables d'environnement

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

Options d'exportation

Variable d'environnement

Cryptage / Clé de cryptage

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

Options d'exportation

You can find a full list of export options available in the EditorExportPlatformAndroid class reference.