Exporter pour Android

Exporter pour Android a moins d’exigences que de compiler Godot pour Android. Les étapes suivantes détaillent ce qui est nécessaire pour configurer le SDK et le moteur.

Télécharger le SDK Android

Téléchargez et installez le SDK Android à partir de https://developer.android.com/studio/

Installer OpenJDK ou Oracle JDK

Téléchargez et installez OpenJDK ou Oracle JDK. Les versions inférieures à JDK 8 peuvent ne pas fonctionner, certains utilisateurs ayant signalé des problèmes avec le jarsigner (utilisé pour signer les APK) dans JDK 7.

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

Android a besoin d’un fichier magasin de clés de débogage pour 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 (sous Linux et macOS, vous pouvez le trouver dans le répertoire ~/.android).

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

Assurez-vous d’avoir adb

Android Debug Bridge (adb) est l’outil en ligne de commande utilisé pour communiquer avec les appareils Android. Il est installé avec le SDK, mais vous devrez peut-être installer un (n’importe lequel) des niveaux de l’API Android pour qu’il soit installé dans le répertoire SDK.

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, le chemin d’accès à 3 fichiers doit être défini :

  • L’exécutable adb (adb.exe sous Windows)
  • L’exécutable jarsigner (du JDK 6 ou 8)
  • Le keystore de débogage

Une fois cela configuré, tout est prêt à être exporté vers 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 -v -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: Enter the path to the keystore file you just generated.
  • Release User: Replace with the key alias.
  • Release Password: Key password. Note that the keystore password and the key password currently have to be the same.

Your export_presets.cfg file now contains sensitive information. If you use a version control system, you should remove it from public repositories and add it to your .gitignore file or equivalent.

Don’t forget to uncheck the Export With Debug checkbox while choosing the APK’s name.

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

Optimizing the APK size

By default, the APK will contain native libraries for both ARMv7 and ARMv8 architectures. This increases its size significantly. To create a smaller APK, 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.

Since August 2019, Google Play requires all applications to be available in 64-bit form. This means you cannot upload an APK that contains just an ARMv7 library. To solve this, you can upload several APKs to Google Play using its Multiple APK support. Each APK should target a single architecture; creating an APK for ARMv7 and ARMv8 is usually sufficient to cover most devices in use today.

You can optimize the size further by compiling an Android export template with only the features you need. See Optimizing a build for size for more information.