Up to date

This page is up to date for Godot 4.2. 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 version 4.1 or later.

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

    • Assurez-vous que les packages requis sont également installés.

      • Android SDK Platform-Tools version 30.0.5 ou supérieure

      • Android SDK Build-Tools version 33.0.2

      • Android SDK Platform 33

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

      • CMake version 3.10.2.4988404

      • Version NDK r23c (23.2.8568313)

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

    • Une fois les outils de ligne de commande installés, exécutez la commande sdkmanager pour terminer le processus d'installation :

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"

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

Créer un keystore (magasin de clefs) de débogage

Android a besoin d'un fichier debug keystore pour s'installer sur les périphériques et distribuer les APK non-publiés. Si vous avez déjà utilisé le SDK et que vous avez construit des projets, ant ou eclipse en a probablement généré un pour vous (dans le répertoire ~/.android sous Linux et macOS, dans le C:\Users\<user>\.android\ sous Windows).

Si vous ne le trouvez pas ou si vous avez besoin d'en générer un, la commande keytool du JDK peut être utilisée à cette fin :

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.

Note

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.

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/androidsdk.png

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

  • Le chemin Android Sdk doit être l'emplacement où le SDK Android a été installé. - Par exemple %LOCALAPPDATA%\Android\Sdk\ sous Windows ou /Users/$USER/Library/Android/sdk/ sous macOS.

  • Le fichier de débogage .keystore - Il se trouve dans le dossier où vous avez mis le fichier debug.keystore que vous avez créé ci-dessus.

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.

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.

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

Le téléchargement d'un APK sur le Play Store de Google nécessite que vous vous connectiez en utilisant un fichier keystore non débogué ; un tel fichier peut être généré comme ceci :

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

Ce keystore et cette clé sont utilisés pour vérifier votre identité de développeur, mémorisez le mot de passe et le conserver dans un endroit sûr ! Utilisez les guides de développement Android de Google pour en savoir plus sur la signature APK.

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

Optimiser la taille du fichier APK

Par défaut, l'APK contient les bibliothèques natives pour les architectures ARMv7 et ARMv8. Cela rend le fichier plus lourd. Pour créer un APK 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.

Depuis Août 2019, toutes les applications Google Play doivent être disponibles sous format 64-bits. Cela signifie que vous ne pouvez pas publier une application qui contient seulement la bibliothèque ARMv7. Pour résoudre ce problème, vous pouvez publier plusieurs APK grâce au support multi-APK. Chaque APK est destiné à une architecture ; créer un APK pour ARMv7 et un autre pour ARMv8 est généralement suffisant pour que votre application fonctionne sur la plupart des appareils d'aujourd'hui.

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

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