Up to date

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

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

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

Téléchargez et installez OpenJDK 17.

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 34.0.0 or later

      • Android SDK Build-Tools version 34.0.0

      • Android SDK Platform 34

      • 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

      • Version NDK r23c (23.2.8568313)

  • 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;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"

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

Entrez dans l'écran Paramètres de l'éditeur. Cet écran contient les paramètres de l'éditeur pour le compte utilisateur dans l'ordinateur (il est indépendant du projet).

../../_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. - 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.

Il existe deux types d'icônes requises par Godot :

  • 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 : A partir d'Android 8 (inclus), des Icônes adaptatives ont été introduites. Les applications devront inclure des icônes d'arrière-plan et d'avant-plan distinctes pour avoir un aspect naturel. L'application de lancement de l'utilisateur contrôlera l'animation et le masquage de l'icône. Doit être au moins 432×432 px.

  • Themed Icons: 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.

Prudence

It is mandatory to provide a monochrome icon. Failure to do so will result in the default Godot monochrome icon being used.

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.

Si vous ne fournissez pas certaines des icônes demandées, Godot les remplacera en utilisant une chaîne de secours, en essayant la suivante lorsque l'actuelle échoue :

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

  • Adaptive Icon Monochrome: Provided monochrome icon -> Default Godot monochrome icon.

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

If you're working with APKs and not AABs, by default, the APK will contain native libraries for both ARMv7 and ARMv8 architectures. This increases its size significantly. To create a smaller file, uncheck either Armeabi-v 7a or Arm 64 -v 8a in your project's Android export preset. This will create an APK that only contains a library for a single architecture. Note that applications targeting ARMv7 can also run on ARMv8 devices, but the opposite is not true. The reason you don't do this to save space with AABs is that Google automatically splits up the AAB on their backend, so the user only downloads what they need.

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 que vous utilisez. 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

Export option

Environment variable

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