**This is an old revision of the document!**

Exporter des jeux natifs pour Android

La dernière version de GDevelop possède une fonctionnalité expérimentale permettant de compiler des jeux natifs pour Android. Par rapport aux jeux HTML5 compilés avec Intel XDK, cela permet d'avoir des jeux avec de meilleurs performances et plus de fonctionnalités (étant donné qu'il y a plus d'extensions pour les jeux natifs).

Pour le moment, seules les fonctionnalités de base (dont les “sprites”), ainsi que les objets “Texte”, “Mosaïque”, “Sprite panneau”, “Carte de tuiles”, les comportements “Physique”, “Déplacement vu du dessus”, “Destruction à la sortie de l'écran”, “Objet se déplaçant sur une plateforme” et “Plateforme” sont compatibles avec l'export pour Android. Les autres extensions ne devraient tarder à l'être !

Etant donné le nombre très important de versions de l'API Android, GDevelop ne fournit pas d'exécutable précompilé. Ce guide va donc vous permettre de compiler votre jeu pour Android à partir des fichiers que GDevelop va exporter.

Prérequis

Cette section présente les prérequis et les préparations à faire pour pouvoir compiler vos jeux natifs pour Android. Ces manipulations ne sont à faire qu'une seule fois à l'exception de la compilation de SFML (pour chaque architecture, voir la section correspondante pour plus d'informations).

CMake

Sous Windows, téléchargez et installez CMake à partir de la dernière version disponible sur https://cmake.org/. Cochez bien “Add CMake to the system PATH for all users” ou “Add CMake to the system PATH for the current user”.

Pour Linux, vous pouvez utiliser la version disponible sur les dépôts officiels de votre distribution.

Apache Ant

Téléchargez et installez Apache Ant. Vous pouvez trouver les exécutables pour Windows zippés sur le site officiel de Ant. Ensuite, extrayez le contenu du zip quelque part. Pour les distributions Linux, il est préférable d'utiliser la version disponible dans les dépôts officiels.

JDK

Avant d'installer les dépendances suivantes, il est nécessaire d'installer le kit de développement Java (JDK) à ne pas confondre avec le JRE (qui est déjà installé sur de nombreux PC).

Pour Windows, téléchargez la bonne version sur le site officiel. Ensuite, il suffit d'exécuter l'installateur téléchargé.

Pour Linux, il est possible d'utiliser l'implémentation libre de Java à la place du JDK de Oracle. Pour cela, il faut installer le paquet openjdk-7-jdk ou openjdk-8-jdk (peut varier selon les distributions).

Android SDK

Pour Windows et Linux, vous devez télécharger le Android SDK depuis le site officiel de Android. Pour cela, sélectionnez la version pour votre OS dans la section “Get just the command line tools” sur la page de téléchargement du SDK.

Lancez ensuite l'installation, l'installateur devrait trouver la bonne version du JDK que vous avez installée précédemment. Vous pouvez ensuite l'installer où vous voulez (de préférence hors de “C:\Programmes” et “C:\Program Files (x86)” pour Windows).

A la fin de l'installation, lancez “SDK Manager.exe” (exécutable qui devrait se trouver dans le répertoire d'installation du SDK) sous Windows ou le script “android” dans le dossier “tools” pour Linux. Une fenêtre va s'ouvrir, patientez pendant que la liste des outils de développement pour Android soit téléchargée.

Après chargement, la fenêtre devrait ressembler à cela :

Décochez tout car nous allons installer uniquement le nécessaire.

Sélectionnez “SDK Platform”, “Source for Android SDK” dans la catégorie correspondant à la version 4.4.2, API 19 (version recommandée pour SFML). Si vous souhaitez tester le jeu sur un émulateur, sélectionnez une des “System images” parmi “ARM EABI v7a System image” et “Intel x86 Atom System image”.

Ce n'est pas parce que vous choisissez une version particulière de l'API que votre application ne marchera pas sur les anciennes versions ou les nouvelles versions d'Android.

Ensuite, dans “Tools”, sélectionnez “Android SDK Tools”, “Android SDK Platform-tools” et “Android SDK Build-tools” (le plus récent). Enfin, dans “Extras”, sélectionnez “Google USB Driver” (Windows uniquement).

Vous pouvez maintenant cliquer sur “Install X packages…”.

Android NDK

Pour pouvoir compiler le code C++ que GDevelop va exporter, il vous faudra également le Android NDK. GDevelop supporte actuellement la version r11c du Android NDK dont vous pouvez télécharger les différentes versions à partir des liens ci-dessous :

SFML

Téléchargez ce fichier et extrayez le dans le dossier “sources” dans le dossier où vous avez extrait le Android NDK.

Compiler le jeu

Ces étapes sont à faire pour chaque jeu que vous voulez compiler.

WIP : Ce qu'il y a faire dans GDevelop.

Ouvrez une console et naviguer jusqu'au dossier où vous avez exporter le jeu.

Refaites les modifications du PATH (comme dans la section “Compiler la SFML”) :

Windows :

Dans la console, tapez "DOSSIER_GDEVELOP\CppPlatform\MinGW32\mingwvars.bat" avec DOSSIER_GDEVELOP remplacé par C:\Program Files (x86)\GDevelop pour Windows 64 bits et C:\Program Files\GDevelop pour Windows 32 bits.

Ensuite, tapez dans la console : PATH="CHEMIN_VERS_ANT\bin";"CHEMIN_VERS_NDK";"CHEMIN_VERS_SDK\tools";"CHEMIN_VERS_SDK\platform-tools";%PATH% avec CHEMINVERSANT le chemin vers Ant, CHEMINVERSNDK le chemin vers le Android NDK et CHEMINVERSSDK le chemin vers le Android SDK. (Attention, bien utiliser les \ et non / et non pas oublier les guillemets droits !)

Linux :

Tapez dans le terminal : export PATH="CHEMIN_VERS_NDK":"CHEMIN_VERS_SDK/tools":"CHEMIN_VERS_SDK/platform-tools":$PATH

avec CHEMINVERSNDK le chemin vers le Android NDK et CHEMINVERSSDK le chemin vers le Android SDK. (Attention, bien utiliser les /, ne pas oublier les guillemets droits et le séparateur entre les chemins est bien : !)


A l'aide d'un éditeur de fichier, ouvrez le fichier Application.mk du dossier “jni” et remplacez la ligne APPABI := x86 par APPABI := armeabi armeabi-v7a x86.

Ensuite, effectuez les commandes suivantes (dans l'ordre) :

android update project --target "android-19" --path .

ndk-build

ant debug

Déployer votre jeu

La dernière commande que vous avez effectué génère un fichier .APK (NativeActivity-debug.apk dans le dossier bin) qui peut être envoyé sur appareil Android.

Pour tester directement le fichier .APK sur votre appareil, activez le “débogage USB” (comment activer le débogage USB sur Android) et tapez adb install bin/NativeActivity-debug.apk dans la console/terminal de votre ordinateur.