Compilation de sources C/C++ pour Android

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
55
Mois de parution
juillet 2011
Spécialité(s)


Résumé
Qui dit “Android” dit généralement “code en Java”. C'est d'ailleurs là, sans doute, l'une des raisons du succès de la plateforme et de l'affluence massive de développeurs dès les premières heures de la mise en ligne des SDK. Mais depuis quelques versions, il est également possible d'embarquer du code C/C++ et de le compiler pour la plateforme de Google sur architecture ARM. Il est même possible de créer, le plus naturellement du monde, un binaire ARM. Là, cela devient vraiment intéressant.

La compilation de binaires (exécutables et bibliothèques dynamiques) est l'oeuvre du NDK, Native Development Kit. La plupart des applications Android fonctionnent dans une machine virtuelle Dalvik. Le NDK est initialement prévu pour vous permettre d'utiliser un code natif (comprendre “pour le CPU ARM”) développer en C et C++ et de l'utiliser, via le framework JNI (Java Native Interface), dans votre code Java. L'objectif est double : réutiliser un maximum de code déjà existant (sans réimplémenter) et accessoirement, augmenter la vitesse d'exécution.

L'intéraction Java/binaire peut être envisagée de deux manières (la seconde n'est disponible que depuis l'API niveau 9, Android 2.3 Gingerbread) :

- Utilisation de JNI et des fonctionnalités implémentées en C/C++ dans votre code Java. Ceci présente l'intérêt de déplacer le code nécessitant des ressources ou des fonctionnalités particulières vers un langage plus “système” comme le C. On conserve alors la logique du programme…

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous