Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Android NDK avec Android Studio
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
CybersécuritéDéveloppement

Android NDK avec Android Studio

Fabien Brissonneau Par Fabien Brissonneau 18 janvier 2025
Partager
3e lecture en min
Partager

La prise en charge du NDK par l’environnement reste un problème. Android Studio proposera un support, simplifiant la mise en oeuvre des appels natifs sous Android.

Le paramétrage de Android Studio

 

Pour utiliser le NDK, le mieux est de tenter d’utiliser Android Studio dans sa version 2. C’est une version préliminaire, et donc sujette à pas mal d’instabilité, mais elle prétend intégrer l’usage du NDK. La première chose à faire sera donc de charger cet outil. Cette version 2 utilise des paramétrages différents de celle qui est officielle aujourd’hui, la version 1.5.1.
Vous pourrez donc installer la seconde version indépendamment de la première. Pas de conflit en vue.
Une fois installée, il faut changer quelques infos dans les scripts Gradle.
La version de plugin doit changer : utilisez la version « expérimentale »
Dans le fichier de projet :

Table de matière
Le paramétrage de Android StudioLes appels en JavaLa fonction écrite en CConclusion
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha9'
}

Dans le fichier du module :

apply plugin: "com.android.model.application"

model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"

defaultConfig.with {
applicationId = "android.ei6.biz.fr_269_04_00ter"
minSdkVersion.apiLevel = 23
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
}
android.ndk {
moduleName="coucou"
}

Remarquez les changements de syntaxe (DSL) dans ce dernier. Une information importante est le nom du module ndk.

Les appels en Java

Avant d’appeler vos fonctions C en Java, il faudra charger le module natif lors du chargement d’une classe de l’application.
Par exemple, dans l’activité principale de l’application :

static {
System.loadLibrary("coucou");
}

L’appel sera déclaré comme une fonction native du Java :

public native String getTexte();

Cette fonction doit simplement être appelée en Java comme n’importe quelle autre méthode.

La fonction écrite en C

Enfin, grâce à la prise en charge par Android Studio 2.0 des fonctions natives du Java, un répertoire sera automatiquement créé qui contiendra un fichier du nom du module déclaré.
Dans ce fichier, vous viendrez écrire votre fonction. Si tout se passe bien, le prototype de la fonction sera généré. Si ce n’est pas le cas, pas de panique … 😉

#include 

jstring
Java_android_ei6_biz_fr_1269_104_100ter_MainActivity_getTexte( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "coucou");
}

Les appels des fonctions C suppose une correspondance entre les types de données Java et ceux du C. JNI définit les possibilités d’échanges entre Java et le C.

Conclusion

Grâce à Android Studio 2.0, nous aurons une prise en charge des appels natifs sous Android. En Java, il suffit alors de déclarer les fonctions que nous souhaitons appeler, et l’IDE se charge quasiment du reste. Bien entendu, tout cela reste expérimental … mais risque de durer.

Pour en savoir plus sur la mise en place et les fonctionnalités d’Eyes Of Network, consultez notre article détaillé sur Eyes Of Network

Facebook
Twitter
LinkedIn
Email
WhatsApp
Par Fabien Brissonneau
Expert en Conception et Développement sur Java et DotNet avec 15 Ans d'Expérience
Fabien, expert en développement, conception et architecture sur les plateformes Java et DotNet, offre ses services depuis plus de 15 ans. Fort de son expérience en C++, il excelle également dans le domaine de la mobilité, ayant créé avec succès des outils pour Android et Windows Phone, certains étant même publiés. En plus de son travail, il consacre une part significative de son temps à la formation, partageant ainsi son expertise avec les acteurs clés de l'industrie. Pour tout ce qui concerne la conception orientée objet sur les plateformes Java et DotNet, Fabien est votre expert de confiance.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Android NDK avec Android Studio

© Alphorm - Tous droits réservés