Irrlicht sur Android - Partie 1
Proposé par nabouill

le lundi 06 janvier 2014 à 15h 00mn 39s

3497 visualisations

Il y a encore quelques temps le développement d’application pour Android était réservé au développeur Java, cependant, depuis la sortie du Android NDK (Native Development Kit) nous avons la possibilité d’écrire notre code dans divers langage puis le compiler pour le rendre compatible avec Android.

Depuis, Irrlicht inclus le driver ogl-es permettant d’afficher son rendu sur Android, de plus cette version faisant partie du svn suis parfaitement l’évolution du moteur.
Nous n’allons dans cette première partie absolument rien coder, mais essayé de détailler au mieux la mise en place des outils nécessaires à installer sur votre ordinateur pour compiler la démo HelloWordMobile inclus dans les exemples d’Irrlicht.





Installation de CYGWIN :
A Télécharger
http://cygwin.com/setup-x86.exe

A l’installation, choisissez « Install from Internet »
Puis root directory choisissez par exemple  « C:\_DEV\cygwin »
À la section « local Package Directory » insérer « C:\_DEV\cygwin\localPackage »
Faites toujours suivant jusqu’à la section « select Package »
Cliquez en haut à droite sur le bouton « view » pour avoir la view a « FULL » ensuite,
Dans la barre de recherche, tapez « make »
Et sélectionner:
-make : The GNU version…


http://i56.servimg.com/u/f56/11/17/17/45/instal10.png


Puis toujours dans la barre de recherche tapez « gcc »
Et sélectionner :
- gcc-core
- gcc-g++
- gcc-objc
- gcc-objc++
- libgcc1
- mingw-gcc-core
- mingw-gcc-g++
- mingw-gcc-objc
Puis toujours suivant.



Installation d’Android SDK :
Télécharger Android SDK ici :
http://developer.android.com/sdk/index.html
(Sélectionner bien la version 32 bits)
Et décompresser l’archive dans « C:\_DEV\android-sdk » vous devriez donc retrouver à l’intérieur de ce dossier 2 sous dossiers « eclipse » et « sdk » ainsi que le programme « SDK Manager.exe »
Lancer « SDK Manager.exe »
Cochez  «  tools »  et toutes ses sous catégories
Cochez «  Android 4.4 Api 19 » et toutes ses sous catégories
Dans « extra » cochez uniquement les sous catégories « Android support library » et « Google usb driver »

http://i56.servimg.com/u/f56/11/17/17/45/androi10.png

Puis cliquez en bas à droite sur « Install X package », dans la nouvelle fenêtre accepter tous les contrats de licence et installer.



Télécharger Android NDK ici :
http://developer.android.com/tools/sdk/ndk/index.html
(Version r9 à l’heure actuelle, à prendre en 32 bits)
Et décompresser l’archive dans « C:\_DEV\android-ndk»



Télécharger JAVA SE ici
http://www.oracle.com/technetwork/java/ … index.html
Sélectionner le pack JDK en version « Windows x86 » et installer le dans le dossier « C:\_DEV\JAVA »



Télécharger apache-ant
http://ant.apache.org/bindownload.cgi
Et décompresser l’archive dans « C:\_DEV\apache-ant»




Ajouter les variables path :

Pour cela procéder comme suit :
-clic droit sur "poste de travail" => "propriétés", puis:

http://i56.servimg.com/u/f56/11/17/17/45/variab10.png

http://i56.servimg.com/u/f56/11/17/17/45/variab11.png

http://i56.servimg.com/u/f56/11/17/17/45/variab12.png

http://i56.servimg.com/u/f56/11/17/17/45/variab13.png

Et ajouter les lignes ci-dessous une à une en mettant bien un point-virgule entre chaque et attention à ne pas supprimer les chemins déjà en place :
C:\_DEV\android-ndk;
C:\_DEV\android-sdk\sdk\tools;
C:\_DEV\android-sdk\sdk\platform-tools;
C:\_DEV\apache-ant\bin;
C:\_DEV\JAVA;
C:\_DEV\JAVA\bin;
C:\_DEV\JAVA\lib;



Puis ajouter de nouvelle variable d’environnement, pour cela procéder comme suit :

http://i56.servimg.com/u/f56/11/17/17/45/variab14.png

http://i56.servimg.com/u/f56/11/17/17/45/variab15.png

Et ajouter ce qui suit :
*****************************
ANT_HOME
C:\_DEV\apache-ant
********************************
JAVA_HOME
C:\_DEV\JAVA
*******************************
ANDROID_NDK_ROOT
C:\_DEV\android-ndk
******************************
ANDROID_HOME
C:\_DEV\android-sdk\sdk




Installer les pilotes de votre téléphone Android sur votre ordinateur
(cf la doc de votre téléphone)



Télécharger la version d’Irrlicht ogl-es
http://sourceforge.net/p/irrlicht/code/ … es/ogl-es/

Cliquez sur « download  snapshot » (si il finit par vous mettre un message « We're having trouble finding that snapshot. Would you like to resubmit? » Surtout ne faites rien, attendez simplement, ça fini par venir, même si ce n’est parfois qu’au bout de 2-3 min)

Décompresser l’archive dans « C:\_DEV\cygwin\home\votre_nom-utilisateur\irrlichtAndroid »
(Ce chemin est juste conseillé pour plus de simplicité d’accès car c’est le répertoire par défaut de cygwin donc sera plus facile d’accès qu’un autre, cependant il n’est en rien obligatoire)



Nous avons fini l'installation des outils, on va devoir maintenant essayer tout ça.


=============================================================================

#1 

06-01-2014 15:06:26

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

TEST DES OUTILS


test de apache-ant
Ouvrir cygwin, taper

Code:

$ ant

Il doit vous retourner un message d’erreur finissant par :

Code:

Buildfile: build.xml does not exist!
Build failed

C’est que ant-apache est bien fonctionnel, si il vous répond que "ant" n’est pas reconnu, vérifier la variable « path » de ant-apache.



Test des la connexion de votre téléphone à votre ordinateur avec l'outil "adb"
Brancher votre téléphone à votre ordinateur et dans son menu de configuration, allez dans les paramètres et activer le mode de debugage usb.
Tapez dans cygwin:

Code:

$adb devices

Cela doit vous retourner :

Code:

list of devices attached
device numero_identification_device

Si il vous répond que adb n’est pas reconnu, vérifier les variables « path » d’Android SDK.
Si il ne retourne pas le numéro d’identification de votre téléphone mais seulement "list of devices attached", vérifier l’installation des drivers du téléphone sur votre PC.

Test de ndk-build
Toujours dans cygwin, tapez :

Code:

$ ndk-build

Celle-ci doit vous retourner :

Code:

Android NDK: Could not find application project directory !

C’est que c’est bon, si il vous répond que ndk-build n’est pas reconnu, vérifier la variable « path » de android ndk

Test de android sdk tools
Dans une fenetre DOS (pas cygwin, mais la console Windows pour le coup) tapez :

Code:

$ android

Celle-ci doit vous ouvrir la fenêtre du SDK Manager, sinon vérifier votre variable path.


Si tout est OK, on peut attaquer.

Compilation d’Irrlicht

Ouvrir cygwin, allez dans le dossier ou se trouve les sources d’Irrlicht pour le compiler. Si vous avez décompressé l’archive dans le même dossier que moi, taper :

Code:

$ cd irrlichtAndroid/source/Irrlicht/Android/

Nous remarquerons que nous mettons des / entre les dossiers au lieu des \ habituel dans Windows car c’est une console linux
Maintenant on compile la lib avec la commande :

Code:

$ ndk-build

Si tout c’est bien passé, vous devriez retrouver dans le dossier
« C:\_DEV\cygwin\home\votre_nom-utilisateur\irrlichtAndroid\lib\Android »
le fichier « libIrrlicht.a »


Compilation de l’example « hello world mobile »

on se déplace donc maintenant dans le dossier exemple (tapez «  cd .. » pour remonter d’un dossier)
Remonter jusqu’au dossier « irrlichtAndroid » et taper pour se rendre directement au dossier exemple qui nous intéressent :

Code:

$ cd examples/17.HelloWorld_Mobile

Avant de lancer la compilation, il faut préparer le projet pour android SDK, pour cela, ouvrir une fenetre DOS (de Windows et non cygwin) naviguer jusqu’au dossier de votre projet
(la commande : $ cd C:\_DEV\cygwin\home\votre_nom_utilisateur\irrlichtAndroid\examples\17.HelloWorld_Mobile , devrait vous y rendre directement)
Et la taper :

Code:

$ android update project –p  . –s  –t android-19  –n HelloWorldMobile

Celle-ci doit vous répondre un truc du genre :

Code:

Updated project.properties
Updated local.properties
Updated file C:\_DEV\cygwin\home\ votre_nom_utilisateur\irrlichtAndroid\examples\17.HelloWorld_Mobile\build.xml
Added file C:\_DEV\cygwin\home\votre_nom_utilisateur\irrlichtAndroid\examples\17.HelloWorld_Mobile\proguard-project.txt

Ensuite dans cygwin, tapez :

Code:

$ndk-build

Qui vous rendre un truc de genre :

Code:

 [armeabi] Gdbserver      : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
[armeabi] Gdbsetup       : libs/armeabi/gdb.setup
[armeabi] Cygwin         : Generating dependency file converter script
[armeabi] Compile++ thumb: HelloWorldMobile <= main.cpp
[armeabi] Compile thumb  : android_native_app_glue <= android_native_app_glue.c
[armeabi] StaticLibrary  : libandroid_native_app_glue.a
[armeabi] StaticLibrary  : libstdc++.a
[armeabi] SharedLibrary  : libHelloWorldMobile.so
[armeabi] Install        : libHelloWorldMobile.so => libs/armeabi/libHelloWorldMobile.so

Puis tapez :

Code:

$ant debug

Qui vous rend quelque chose qui finit par :

Code:

-post-build: 
debug: 
BUILD SUCCESSFUL
Total time: 4 seconds

(si vous êtes sur Windows 7, 8 ou 8.1, voir à la fin de ce tuto une explication sur la correction d’une erreur à l’utilisation de la commande « ant debug »)
Si vous jetez maintenant un œil dans le dossier 17.HelloWorld_Mobile\bin, vous devriez retrouver un fichier .apk du style « HelloWorldMobile-debug.apk », c’est votre application compilé et fin prête pour votre Android, il n’y a plus qu’à l’installer sur votre téléphone pour la tester. Pour cela, tapez :

Code:

$adb install –r bin/HelloWorldMobile-debug.apk

Un message vous renvoi un « success » si tout c’est bien passé.


http://i56.servimg.com/u/f56/11/17/17/45/hellow10.jpg

On remarquera que j’ai utilisé ici un émulateur Android pour tester l’application, cependant je vous conseille fortement d’utiliser votre périphérique personnel car l’émulateur est d’une forte incompatibilité avec ogl-es et est extrêmement lent comparé à un téléphone ou tablette.

Ceci à déjà été testé sur:
-Samsung Galaxy ACE
-Samsung Galaxy S4
-Samsung TAB 2
-LG G2




Avant d’aller plus loin, vous pouvez déjà jetez un œil aux fichiers
« AndroidManifest.xml »
Chaque application doit avoir un fichier AndroidManifest.xml (portant précisément ce nom) dans son répertoire racine. Le manifeste présente des informations essentielles sur l'application au système Android (pour plus de détail voir : http://developer.android.com/guide/topi … intro.html)
« jni\Android.mk »
Le fichier contient les paramètres de compilation de votre application (les fichiers à inclure, bibliothèque à inclure..., plus d’info ici : https://sites.google.com/site/fourdolla … android-mk)





N’hésitez pas à faire part de vos commentaires sur ce tuto (correction, bug, amélioration…)

Avant de passer à la partie 2, Corrigeons le problème d'event sur la gui
Partie2 - Multitouch Event

==================================================================================
BUILD FAILED sous Windows 7, 8 et 8.1 au moment de l’utilisation de « ant debug »
Lors de l’utilisation de la commande « ant debug » on reçoit parfois des messages « build failed » pour cause de droit utilisateur sur le dossier « assets », car effectivement lors de cette commande, il essaye de copier les fichiers medias dans ce dossier mais n’a pas les droits. Pas de panique !
clic droit sur le dossier « assets » => propriétés => onglet sécurité => bouton modifier => bouton ajouter => taper dans la case blanche  « tout le monde » => cliquer sur « vérifier les noms » => ok,
Dans la liste, sélectionner « tout le monde » et cocher la case « Contrôle total » pour autoriser et faite OK.
Puis dans notre fenêtre avec l’onglet « sécurité » cliquez sur « avancé » et cocher la case en bas « Remplacer toutes les entrés… » => OK => oui => ok
Et le tour est joué (ouf)

Dernière modification par nabouill (07-01-2014 17:46:11)

Hors ligne


#2 

25-05-2014 12:57:33

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 898
Site web

merci pour ce tuto wink

Hors ligne


#3 

28-05-2014 03:10:06

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

beau boulot smile j'ai pas encore eu l'ocasion de tester android mais je pense que c'est l'avenir wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
872 membres
1422 sujets
11100 messages
Dernier membre inscrit: Glider
1 invité en ligne
Aucun membre connecté
RSS Feed