Développement des applications Android natives avec le compilateur Intel® C++ sous Android Studio 1.0.1

0
908
Introduction

L’actuelle version de l’Android Studio, au moment de la rédaction de cet article, est la version 1.0.1. Le compilateur C++ Intel®pour Android, qui fait partie de l’Intel® Integrated Native Developer Experience (Intel® INDE), est compatible avec l’Android Studio 1.0.1 dans l’Update 1 de l’Intel INDE 2015. Puisque l’Android Studio 1.0.1 n’est pas compatible avec l’Android NDK, nous vous fournissons, dans cet article, des instructions et des étapes qui vous permettront de concevoir une application Android, en utilisant Android NDK r10d et le compilateur C++ Intel pour Android.

Android Studio utilise Gradle pour son système de build. Au moment de rédaction de cet article, Gradle invoque le NDK build system, en tant que partie du process de build. Avec la version r10 et celles suivantes de l’Android NDK, le compilateur C++ Intel® pour Android (ICC) n’est plus le compilateur par défaut du NDK build system, après l’installation de l’Intel INDE.

Les étapes présentées ci-dessous fournissent une description générale pour installer, builder et exécuter une nouvelle application native avec Android Studio 1.0.1.

Si vous disposez Android Studio 0.8.6, suivez cet article Building Native Android* Apps Using Intel(R) C++ Compiler in Android Studio* (En anglais) pour maîtriser l’utilisation du Compilateur C++ Intel.

Logiciels et outils nécessaires

L’installation réussie de l’INDE 2015 Update 1 avec l’Android Studio Integration peut vous garantir la disponibilité de tous les outils et logiciels nécessaires.

Pour plus de détails sur les logiciels et les exigences systèmes, visitez la page Intel(R) C++ Compiler Release Notes for Intel(R) Integrated Native Developer Experience 2015.

Les instructions présentées dans cet article utilisent les logiciels cités ci-dessous, et ce pour les architectures IA-32 et Intel®-64 :

  • Oracle JDK 7 (JDK Intel-64 natif pour les systèmes Window x64)
  • Android SDK 20 ou une version ultérieure
  • NDK r10d (Installation dans [ndk-dir])
  • Android Studio 1.0.1

Assurez-vous que les bibliothèques ci-dessous, relatifs à l’Android NDK, sont ajoutés à la variable d’environnement PATH (Ajoutez-les en cas d’absence) :

  • C:\Intel\INDE\IDEintegration\NDK\build\tools
  • C:\Intel\INDE\IDEintegration\NDK
Utilisation du Compilateur C++ Intel® dans Android Studio 1.0.1

Après l’installation du Compilateur C++ 15.0 d’Intel pour Android, les chaînes d’outils suivant seront installés dans le dossier « [ndk-dir]\toolchains » (Le répertoire par défaut est : C:\Intel\INDE\IDEintegration\android-ndk-r10d\toolchains) :

  • x86-icc
  • x86-icc15.0.X.YYY
  • x86_64-icc (Si NDK est compatible avec des architectures cibles 64-bit)
  • x86_64-icc15.0.X.YYY (Si NDK est compatible avec des architectures cibles 64-bit)

Pour les versions NDK jusqu’à r9d : Le compilateur C/C++ natif par défaut sera le Compilateur C++ Intel après l’installation. Il n’existe pas d’étapes supplémentaires pour utiliser le compilateur dans l’Android Studio. Si vous voulez utiliser le GNU gcc pour builder le code natif, suivez les instructions présentes dans l’article Changing the default compiler back from Intel C++ Compiler to GCC for x86 targets.

Pour les versions NDK de r10 jusqu’à r10d : Après installation, le compilateur C++ Intel ne sera pas le compilateur par défaut. Suivez les étapes 3, 4 et 5 ci-dessous pour utiliser ce compilateur dans Android Studio.

Si vous disposez de plusieurs versions d’Android NDK, suivez les instructions présentes dans cet article : Integrating the Intel(R) C++ Compiler for Android* with multiple Android NDKs (En anglais).

Nous allons maintenant créer un nouveau projet Android pour Intel 64 avec un appel d’une fonction native, pour montrer l’utilisation du compilateur C++ Intel.

  1. Créer un nouveau projet Android avec une interface native :
  • Lancez Android Studio, Créer un nouveau projet Android « nativeDemo » en gardant les configurations par défaut.

new-project-android

  • Lancez « app\src\main\java\MainActivity.java » et ajoutez la fonction native ci-dessous à la fin de la classe « MainActivity » :addFunc
  • Pour créer votre projet « nativeDemo », sélectionnez « Build > Make Project » pour être prêt à utiliser « javah »
  • Ouvrez la fenêtre du terminal à partir de « View > Tools Windows > Terminal » et suivez les étapes suivantes pour exécuter la commande javah et créer le header jni :
    • Dans le terminal, allez vers le dossier « src\main » : cd src\main
    • Ensuite, créez le fichier « com_example_nativedemo_app_MainActivit.h » sous le dossier src\main\jni, ensuite, exécutez la commande javah :

javah -d .\jni -classpath C:\Intel\INDE\IDEintegration\android-sdk-windows\platforms\android-21\android.jar;..\..\build\intermediates\classes\debug com.example.mydemo.nativedemo.MainActivity

exemple :

  • terminal_winDans la fenêtre Project, changez la vue vers Project et cliquez sur le dossier “src” avec le bouton droit et sélectionnez « Synchronize ‘src’ ». Maintenant, vous pouvez trouver le fichier header « com_example_mydemo_nativedemo_MainActivity.h » sous le dossier « src\main\jni »
  1. Ajouter le code source natif : main.c
  • Créez « main.c » : Sélectionnez le fichier « com_example_mydemo_nativedemo_MainActivity.h », utilisez la technique du copier/coller pour créer un nouveau fichier « main.c » avec le code suivant :

main.c

  • Enregistrez les changements
  • Vous aurez maintenant 2 fichiers sous le dossier « jni » : com_example_mydemo_nativedemo_MainActivity.h et main.c

addedMain

  1. Ajoutez le make file : Android.mk
  • Cliquez, avec le bouton droit, sur le dossier « jni » et sélectionnez « New > File »
  • Tapez « Android.mk » et cliquez sur « OK »
  • Ajoutez les lignes suivantes à ce fichier .mk (Notez que la variable LOCAL_SRC_FILES doit contenir les fichiers sources contenus dans le dossier « jni ») :

Android.mk

  1. Ajoutez le make file : Application.mk
  • Cliquez, avec le bouton droit, sur le dossier « jni » et sélectionnez « New > File »
  • Tapez « Application.mk » et cliquez sur « OK »
  • Ajoutez les lignes suivantes à ce fichier .mk :

Application.mk

  • [Facultatif] Pour changer les options du compilateur, utilisez la ligne suivante :

9

  1. Configurer l’application pour exécuter le ndk-build avec les make files
  • Ouvrez le fichier « app\build.gradle »
  • Ajoutez les imports suivants au début du fichier :

ndk-build

  • Ajoutez les lignes suivantes après la section « defaultConfig » :

11

  • Ajoutez cette ligne à la fin du fichier :

12

  • Enregistrez les changements.
  • Maintenant, buildez votre projet : Sélectionnez [Build > Make Project]. Tous les dossiers Output et les fichiers « libmain.so » apparaîtront sous les dossiers « main\libs » et « main\obj\local »
  1. Ajouter un ID « hello_textview » dans le textview widget
  • Lancez le fichier res\layout\activity_main.xml et modifiez le textview widget comme ci-dessous :

hello_TextView

  1. Mettre à jour « MainActivity.java » pour brancher l’appel de la librairie natif au à l’UI du textview widget :
  • MainActivity.javaAppuyez ALT + ENTER pour importer le Textview widget et enregistrez vos changements.

8.  Démarrez Android Virtual Machine « Intel Nexus 7 x64 » et démarrez l’application en cliquant sur le bouton « Run » :

emulator-final

Ceci signifie que le compilateur utilisé est le compilateur C++ Intel pour Android.

Résumé

Maintenant, vous maîtrisez la création de simples applications Android natives avec le Compilateur C++ Intel pour Android Studio. Vous pouvez l’essayer pour vos propres applications natives et nous informez de l’issue de vos tests.

AUCUN COMMENTAIRE

LAISSER UN COMMENTAIRE

19 + 7 =