Profil

  • Jbx
  • le blog hxcjbx
  • Homme
  • Java UML Qt Hordes OpenGL
  • Développeur C++/Qt/OpenGL, secteur Aérospacial-Défense.

Ayant eu la chance d'acquérir un smartphone Android dernièrement (un Galaxy S2 pour être précis), je me suis amusé un peu à voir comment titiller les entrailles de la bête. Développeur C++ devant l'eternel, même si j'ai quelques connaissances en Java, je ne pouvais pas m'en contenter. Je me suis donc naturellement tourné vers le NDK (Native Develoment Kit). Je vous donne ainsi la procédure d'installation, compilation, ainsi que le déploiement sur le téléphone.

 

1) Installez Eclipse.

 

La version importe peu, on pourra la personnaliser ensuite. http://www.eclipse.org/downloads/

 

2) Installer le plug-in ADT (Android Development Tools) pour Eclipse.

 

Aller dans Help > Install New Software.... Cliquer sur Add.

Entrez comme nom ADT Plugin, et comme adresse : https://dl-ssl.google.com/android/eclipse/

Cliquez sur OK.

Cliquez sur la checkbock Developer Tools puis Next.

La sélection va se télécharger, puis à nouveau Next.

Finish.

Relancez Eclipse.

 

Vous avez maintenant le nécessaire pour développer en Java sur Android.

 

3) Installer le NDK

 

Le NDK se trouve ici [NDK Android]

Dézipper le et déplacez / renommez-le par exemple dans C:\android-ndk, de telle façon à avoir C:\android-ndk\ndk-build.cmd

 

Ajoutez le dossier dans le PATH pour simplifier les commandes de compilation. Clique droit sur Poste de Travail, onglet avancé, variables d'environnement, Modifiez la variable d'utilisateur PATH, ajoutez en dernier C:\android-ndk. Assurez-vous d'avoir un ";" entre chaque dossier.

 

4) Compilez / Exécutez un des Samples donné dans le NDK

 

Par exemple hello-gl2 qui se trouve dans C:\android-ndk\samples\hello-gl2

 

Dans Eclipse, faire File, New, Project...

Choisir Android Project dans le répertoire Android, puis Next

Sélectionner "Create Project from existing source"

Cliquez sur Browse puis choisir el répertoire C:\android-ndk\samples\hello-gl2

Next, puis sélectionner un SDK, par exemple le dernier en date pour moi est Android 4.0.3

Next, Finish

 

Il est possible alors qu'un message d'erreur apparaisse, dans le genre:

[2011-12-29 11:48:09 - HelloGl2] Unable to resolve target 'android-3'

 

Eclipse nous indique que la version du SDK utilisé et celui pour lequel l'application est destiné différent. Le problème peut (de ce que j'ai pu voir) empêcher l'exécution du code sur l'émulateur.

 

Deux possibilités:

- Changer la version du SDK de l'application dans le fichierproject.properties

- Installer la version demandée du SDK, dans Window > Android SDK Manager

 

Voici les correspondances target - version du SDK :

 

Unable to resolve target 'android-1' - (Android 1.0) change the "default.properties"
Unable to resolve target 'android-2' - (Android 1.1) change the "default.properties"
Unable to resolve target 'android-3' - install SDK Platform Android 1.5
Unable to resolve target 'android-4' - install SDK Platform Android 1.6
Unable to resolve target 'android-5' - install SDK Platform Android 2.0
Unable to resolve target 'android-6' - install SDK Platform Android 2.0.1
Unable to resolve target 'android-7' - install SDK Platform Android 2.1
Unable to resolve target 'android-8' - install SDK Platform Android 2.2
Unable to resolve target 'android-9' - install SDK Platform Android 2.3
Unable to resolve target 'android-10' - install SDK Platform Android 2.3.3
Unable to resolve target 'android-11' - install SDK Platform Android 3.0
Unable to resolve target 'android-12' - install SDK Platform Android 3.1
Unable to resolve target 'android-13' - install SDK Platform Android 3.2
Unable to resolve target 'android-14' - install SDK Platform Android 4.0
Unable to resolve target 'android-15' - install SDK Platform Android 4.0.3

 

La compilation se fait en deux étapes : on compile tout d'abord le code C, puis le code en Java sur Eclipse.

 

1) Code C

- Lancer interpréter de commande (Démarrer, Exécuter, cmd, OK)

- Rendez vous dans le répertoire C:\android-ndk\samples\hello-gl2

- Tapez ndk-build

 

2) Java

Pour configurer une AVD (Android virtual machine, un émulateur en somme)

 

Sur Eclipse :

Allez dans Window > AVD Manager.

Cliquez sur  New....

Tapez le nom de l'AVD, par exemple "My_AVD"

Sélectionnez un target. Celle-ci représente la version du SDK que vous voulez utiliser.

Cliquez sur Create AVD.

 

 

Finalement pour lancer l'application:

 

Click droit sur le projet, Run As > Android Application. Si demandé, sélectionnez l'AVD.

 

 

Si tout se passe bien, l'émulateur Android devrait se lancer (c'est relativement lent). L'application sera disponible dans l'onglet application.

 

 

5) Installer le programme sur le smartphone

 

Dans certains cas, l'émulateur ne peut pas lancer l'application. Par exemple, il ne supporte pas la caméra. Dans d'autres cas, la raison est plus floue (incompatibilité SDK probablement). Dans tout les cas, et parce que c'est finalement le but recherché, on peut éxécuter le code directement sur le smartphone.

 

Il existe plusieurs façon de procéder mais pour ma part j'ai choisit d'utiliser Astro File Manager.

La première chose à faire est de le télécharger sur le Market Android.

Ensuite il faut copier el fichier .apk sur le téléphone. Le fichier .apk se trouve dans C:\android-ndk\samples\hello-gl2\bin et porte normalement le nom de GL2JNIActivity.apk. Vous pouvez créer un nouveau répertoire n’ importe où sur le téléphone, par exemple à la racine.

Sur le smartphone, lancez l'application Astro, allez dans le gestionnaire de fichier et retrouvez le fichier précédemment copié. Sélectionnez le puis appuyez sur Ouvrir gestionnaire d'application puis Installer

Le programme est maintenant disponible parmi les applications.

 

 

 

Retour à l'accueil
Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus