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.

Installer OpenJDK 11

Téléchargez et installez OpenJDK 11.

Télécharger le SDK Android

Télécharger et installer le SDK Android.

  • Vous pouvez l'installer en utilisant Android Studio version 4.1 ou ultérieure.

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

      • Android SDK Platform 31

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

      • CMake version 3.10.2.4988404

      • Version NDK r23c (23.2.8568313)

  • Vous pouvez l'installer à l'aide des outils en ligne de commande.

    • 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;30.0.3" "platforms;android-31" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

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

Cela créera un fichier debug.keystore dans votre répertoire actuel. Vous devez le déplacer vers un emplacement mémorable tel que %USERPROFILE%\.android\, car vous aurez besoin de son emplacement dans une étape ultérieure. Pour plus d'informations sur l'utilisation de keytool, voir this Q&A article.

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.

Votre fichier export_presets.cfg contient maintenant des informations sensibles. Si vous utilisez un système de contrôle de version, vous devez le supprimer des dépôts publics et l'ajouter à votre fichier .gitignore ou équivalent.

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.

Diagnostiquer les problèmes de rendu

Pour améliorer les performances sur mobile, Godot utilise automatiquement les paramètres adaptés aux appareils bas de gamme par défaut pour Android et iOS.

Cela peut causes des problèmes de rendu qui ne se produisent pas lorsque le projet est lancé depuis un ordinateur. Pour plus de détails, voir Limitations du rendu sur mobile.