Builds personnalisées pour Android

Godot offre la possibilité d’utiliser des modèles Android de build personnalisés. Au lieu d’utiliser le modèle déjà pré-construit qui est livré avec Godot, un projet Java Android réel est installé dans votre dossier de projet. Godot va ensuite le construire et l’utiliser comme modèle d’exportation chaque fois que vous exportez le projet.

Il y a certaines raisons pour lesquelles vous pourriez vouloir le faire :

  • Modifier le projet avant sa construction.
  • Ajoutez des SDK externes qui se construisent avec votre projet.

La configuration de la compilation personnalisée est un processus plus ou moins simple, mais cela peut prendre un certain temps pour s'habituer au fonctionnement du SDK Android.

Des instructions aussi détaillées que possible vous seront fournies pour effectuer ce processus.

Configurer l'environnement de construction sur mesure

Allez dans le menu Projet, et installez le modèle Custom Build :

../../../_images/custom_build_install_template.png

Assurez-vous que les modèles d'exportation sont téléchargés. Sinon, ce menu vous aidera à le faire.

A Gradle-based Android project will be created under res://android/build. Editing these files is not needed unless you want to create your own add-ons, or you really need to modify the project.

Installer le SDK Android (version en ligne de commande)

Voici les étapes pour installer le SDK Android en utilisant la ligne de commande. L'avantage de cette approche est la simplicité et la petite taille de téléchargement / installation. Cela peut être un peu plus difficile, cependant. L'approche d'Android Studio est plus simple mais nécessite le téléchargement et l'installation d'Android Studio (qui peut nécessiter plus de 1 Go de stockage).

Installer un kit de développement Java (JDK)

Le SDK Android n'est pas fourni avec Java, il doit donc être installé manuellement. Vous devez installer un SDK Java (pas seulement le runtime ou JRE). OpenJDK 8 est requis, les versions ultérieures ne fonctionneront pas.

On Windows, make sure that you enable "Set JAVA_HOME variable" in the Custom Setup view of the installer. You have to restart Godot after this, otherwise Godot can't find the JAVA_HOME variable.

Télécharger les outils de ligne de commande

Allez sur la page de téléchargement Android Studio. Pour économiser de l'espace disque, vous ne voulez pas de l'IDE complet, alors ne le téléchargez pas.

Note

Si vous voulez Android Studio, lisez plus loin dans la documentation pour faire la même chose avec Android Studio.

Look on that page for the Command line tools only section. Currently, they are listed under Download Options. Scroll down a bit until you see them and download the ZIP file for your platform.

Cela peut sembler un peu déroutant, mais assurez-vous de suivre attentivement ces instructions :

Créez un nouveau dossier nommé android-sdk (il doit être un répertoire vide). Sous Windows, le chemin suivant est généralement suffisant :

C:\users\<yourusername>\android-sdk

Create an empty folder named cmdline-tools inside of the android-sdk folder. Then unzip the Android SDK ZIP file into the android-sdk/cmdline-tools folder.

Note

If you're on Windows, you must not extract the ZIP archive with the default Windows extractor (e.g. Windows Explorer). You have to use another tool like 7zip, WinRAR or the Powershell Expand-Archive command. If you extract the archive with the default Windows extractor, the files are not extracted correctly and you will run into errors later on!

The cmdline-tools folder should now contain the unzipped folder called tools. Finally, rename the tools folder to latest.

Your final directory structure should look like this :

android-sdk/
android-sdk/cmdline-tools/
android-sdk/cmdline-tools/latest
android-sdk/cmdline-tools/latest/allTheOtherFiles

Nous devons configurer la structure des répertoires de cette façon pour que le sdkmanager (à l'intérieur du dossier bin) fonctionne.

Acceptation des licences

Pour pouvoir utiliser les outils du SDK Android, Google vous demande d'accepter ses licences.

Pour ce faire, le sdkmanager doit être exécuté depuis la ligne de commande avec un argument spécial. Naviguez jusqu'au répertoire tools/bin à l'intérieur du dossier SDK (instructions fournies pour les utilisateurs de Windows, car les utilisateurs de Linux et de MacOS doivent comprendre comment fonctionne la navigation en ligne de commande) :

../../../_images/custom_build_bin_folder.png

Ouvrez ensuite une fenêtre de ligne de commande :

../../../_images/custom_build_open_shell.png

Là-dedans, lancez sdkmanager --licenses :

../../../_images/custom_build_sdkmanager.png

Ceci vous demandera d'accepter plusieurs licences, écrivez simplement y et appuyez sur Enter sur chacune d'elles.

Ensuite, installez les outils de la plate-forme (ceci est nécessaire pour installer adb) :

../../../_images/custom_build_platform_tools.png

Si vous obtenez une erreur disant Warning: Could not create settings, essayez ./sdkmanager --sdk_root=../../ --licenses ou ./sdkmanager --sdk_root=../../ platform-tools. Ceux-ci doivent être exécutés dans le dossier /tools/bin/ car le chemin pour --sdk_root est relatif.

Génération du keystore

Une fois les outils de la plate-forme installés, la dernière étape consiste à générer un keystore de débogage (nécessaire pour générer). Remontez deux dossiers en écrivant :

cd ..\..\..

(ou ouvrez un nouveau shell dans le dossier android-sdk).

And you need to input the following line (This should work out of the box. However, if you haven't set the JAVA_HOME variable on Windows, there are further instructions below):

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

On Windows, if you did not install the JAVA_HOME variable, the full path to Java should be provided. You need to add & at the beginning of the line if you use PowerShell; it's not needed for the regular cmd.exe console.

Pour plus de clarté, voici une capture d'une ligne qui fonctionne sur PowerShell (en ajoutant & et le chemin Java complet avant keytool.exe). Encore une fois, n'oubliez pas que vous devez avoir installé Java :

../../../_images/custom_build_command_line.png

(cliquez avec le bouton droit de la souris et ouvrez l'image dans un nouvel onglet si celle-ci apparaît trop petite)

Configuration de Godot

Allez dans Editor Settings et configurez quelques champs dans Export > Android. Assurez-vous qu'ils ressemblent à ce qui suit :

../../../_images/custom_build_editor_settings.png

(cliquez avec le bouton droit de la souris et ouvrez l'image dans un nouvel onglet si celle-ci apparaît trop petite)

Comme on peut le voir, la plupart des chemins se trouvent soit dans le dossier android-sdk que vous avez créé à l'origine, soit dans l'installation Java. Pour les utilisateurs de Linux et de MacOS, jarsigner est souvent situé dans /usr/bin.

Avec ça, vous devriez être prêts.

Installer le SDK Android (Android Studio)

Si vous venez de terminer l'installation du SDK via les outils en ligne de commande, n'hésitez pas à sauter entièrement cette section. Le chemin Android Studio est plus facile, mais il prend plus d'espace disque. C'est également utile si vous prévoyez de développer Godot pour Android (modifier le code source Java) ou si vous prévoyez de développer des add-ons.

Télécharger et installer Android Studio

Téléchargez la dernière version d'Android Studio. Lors de l'installation, faites attention à l'endroit où le répertoire android-sdk est créé.

../../../_images/custom_build_install_android_studio1.png

Note

C'est drôle, le chemin qu'il propose par défaut contient des espaces blancs (et il s'en plaint). Il faut la changer.

Dans tous les cas, il est préférable de sélectionner un chemin différent dans vos dossiers utilisateur. La plus recommandée est habituellement :

C:\Users\<yourusername>\Documents\android-sdk

Remplacez votre nom d'utilisateur par votre nom d'utilisateur actuel. Une fois que c'est correct, sélectionnez dans la liste ci-dessus dans le même écran :

  • SDK Android
  • Plate-forme Android SDK

Le reste n'est pas nécessaire, car le système de génération les récupérera lui-même. Après les avoir sélectionnées, poursuivez l'installation.

Génération du keystore

Allez dans le dossier où vous avez installé android-sdk à l'étape précédente, utilisez l'explorateur de fichiers et ouvrez un outil en ligne de commande :

../../../_images/custom_build_open_shell.png

La ligne de commande à taper est la suivante. Sous Linux et macOS, il devrait fonctionner immédiatement, mais sous Windows, il a besoin de détails supplémentaires (continuez à lire par la suite).

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

Sous Windows, le chemin complet vers Java doit être fourni (et & doit être ajouté au début de la ligne si vous utilisez PowerShell, ce n'est pas nécessaire pour la console cmd.exe régulière). Ne vous inquiétez pas, au moins en utilisant Android Studio sous Windows, Java est livré avec.

Pour plus de clarté, voici une capture d'écran d'une ligne qui fonctionne sur PowerShell (en ajoutant & et le chemin Java complet à keytool.exe ; supprimez & si vous utilisez cmd.exe). Il utilise un chemin vers la version Java fournie avec Android Studio :

../../../_images/custom_build_command_line2.png

(cliquez avec le bouton droit de la souris et ouvrez l'image dans un nouvel onglet si celle-ci apparaît trop petite)

Configuration de Godot

Allez dans Editor Settings et configurez quelques champs dans Export > Android. Assurez-vous qu'ils ressemblent à ce qui suit :

../../../_images/custom_build_editor_settings2.png

(cliquez avec le bouton droit de la souris et ouvrez l'image dans un nouvel onglet si celle-ci apparaît trop petite)

Comme on peut le voir, la plupart des chemins se trouvent soit dans le dossier android-sdk que vous avez créé à l'origine, soit dans l'installation Java. Pour les utilisateurs de Linux et de MacOS, jarsigner est souvent situé dans /usr/bin.

Avec ça, vous devriez être prêts.

Activation de la génération et de l’exportation personnalisées

Lors de la configuration du projet Android dans la boîte de dialogue Project > Export, Custom Build doit être activé :

../../../_images/custom_build_enable.png

Désormais, tenter d'exporter le projet ou de déployer en un clic appellera le système de compilation Gradle pour générer de nouveaux modèles (cette fenêtre apparaîtra à chaque fois) :

../../../_images/custom_build_gradle.png

Les modèles construits seront utilisés automatiquement par la suite, donc aucune configuration supplémentaire n'est nécessaire.