45 votes

Installation et utilisation du NDK Android dans Eclipse

J'ai fait tourner le SDK Android pour un certain temps maintenant dans Eclipse (MAC OSX). J'ai téléchargé le NDK et installé le C/C++ outils dans Eclipse, mais quelqu'un pourrait-il me guider sur l'utilisation du NDK? Par exemple, dois-je créer un projet Android comme d'habitude et construire avec le NDK à la place?

Vraiment pourrait le faire avec un tutoriel décent si quelqu'un sait de toute.

EDIT: OK, donc j'ai le NDK installé maintenant (je crois) mais quelqu'un a une idée de comment l'utiliser? J'ai eu, pour autant que ce (prises à partir d' ici):

Exécuter Terminal

cd ~/android-ndk-1.5_r1

faire APP=bonjour-jni

Dans le but d'exécuter le bonjour-jni exemple d'application, mais j'obtiens une erreur dans le terminal en disant:

Android NDK: APP variable définie à les applications inconnues: hellojni
Android NDK: Vous pouvez utiliser l'une des opérations suivantes:
construire/core/main.mk:81: *Android NDK: l'Abandon . Stop.

Des idées pourquoi?

25voto

Rob S. Points 946

Aussi simplement que je peux le décrire, la construction d'une application Android depuis Eclipse qui utilise le NDK nécessite deux étapes.

Tout d'abord, à l'intérieur de votre terminal, vous devez exécuter le NDK script de build de votre projet. cd dans la racine de votre répertoire de projet et ensuite exécuter le ndk-build script à l'intérieur de ce répertoire.

Par exemple:

cd ~/workspace/hello-jni
./~/android-ndk-1.5_r1/ndk-build

Après avoir fait cela, vous devriez voir quelques résultats dans la création d'un *.DONC fichier dans le fichier de répertoire dans votre répertoire de projet.

Une fois que vous avez l' *.DONC, le fichier de la dernière étape de création d'une application avec Android NDK par le biais de l'Éclipse est à construire avec Eclipse comme vous le feriez pour toute autre application, puis de le déployer pour le test.

Si vous apportez des modifications au code C/C++, vous devez répéter l'étape un et régénérer votre *.SI le fichier avant de le construire et de déployer votre application à partir de l'intérieur de l'Éclipse à nouveau.

Je tiens à noter qu'en utilisant le Android NDK android apps sont toujours basés sur Java. Ils sont juste communiquer avec le code écrit en C/C++ en passant par l' Interface Native Java.

Enfin, je ne suis pas au courant de tout Eclipse plugins qui vont de l'aide avec le NDK développement. Tout ce que je sais sur le NDK j'ai appris l'officiel Android NDK documentation. N'hésitez pas à commenter et laissez-moi savoir si il y a quelque chose que je puisse clair dans ma réponse.

12voto

Hamid Fadishei Points 178

Développement natif et de la prise en charge du débogage est entré en Éclipse de l'environnement comme de l'ADT de la version 20. http://tools.android.com/recent/usingthendkplugin

  • Définir le chemin d'accès à NDK à partir d'Eclipse Préférences -> Android -> NDK
  • Clic-droit sur votre projet et choisissez Android Outils -> Ajouter le Support Natif

developer.android.com unis, vous avez aussi besoin de Cygwin.

http://developer.android.com/tools/sdk/ndk/index.html#Contents

Nécessaire des outils de développement

  • Pour toutes les plates-formes de développement, GNU Make est de 3,81 ou version ultérieure est requis. Les versions antérieures de GNU Make pourrait fonctionner, mais n'ont pas été testés.
  • Une version récente de awk (GNU Awk ou Nawk) est également nécessaire.
  • Pour Windows, Cygwin 1.7 ou supérieur est requis. Le NDK ne fonctionnera pas avec Cygwin 1.5 installations.

5voto

slogan621 Points 51

Le répertoire docs dans le NDK a quelques très bonnes informations sur la façon d'utiliser le NDK lui-même. Lire l'aperçu de l'Application.mk, et Android.mk HTML docs. Vous aurez envie de google pour le Soleil JNI PDF, télécharger, et d'apprendre ce JNI est tout au sujet avant d'aller plus loin. C'est parce que tout simplement la compilation d'un tas de code C/C++ dans les bibliothèques avec le NDK n'est qu'une partie du processus. Vous devez écrire du code Java natif qui appelle votre C/C++, et que vous avez à créer des fonctions wrapper en C/C++ qui adhèrent à la JNI les conventions que le code Java natif peut invoquer. JNI a été autour d'un long temps, ce n'est pas Android spécifique par tous les moyens. Ainsi, vous pouvez, à apprendre à ce sujet, aller très loin en suivant des tutoriels orientés vers la JNI, en utilisant des outils en ligne de commande comme javah et javac, et ensuite de retour à l'intégration avec le NDK une fois que vous connaissez les bases. (Pour un exemple de ce que ces C cales ressembler, jetez un oeil à la bonjour-jni de l'échantillon dans le NDK; le fichier source C, il vous montre généralement ce que les cales ressembler. À l'aide de javah pour générer ces cales est le chemin à parcourir, vous créez des classes Java natif de méthodes, de processus avec javah, et il génère le C-têtes pour vous, alors vous code les fonctions C qui adhèrent à la fonction générée prototypes).

Remarque: bien que le NDK docs aurait manuellement la construction de la ligne de commande, puis d'aller dans Eclipse pour compiler votre application (un laborieux séquence d'étapes, pour être sûr, surtout si vous modifiez le code C/C++), il s'avère que vous pouvez intégrer facilement avec Eclipse, de sorte que le NDK est exécuté chaque fois que vous générez à partir d'Eclipse. De voir comment, à lire ici.

3voto

Viren Points 1501

C’est pour le bénéfice de ceux qui veulent créer le projet à partir de zéro à partir d’éclipse: j’ai suivi les étapes mentionnées ici dans ce blog et cela fonctionne très bien: http://mhandroid.wordpress.com/2011/01/3/ eclipse-for-android-cc-development /

1voto

WorkingMatt Points 110

Pour tenter de répondre directement à la question, vous devez exécuter ndk-build dans le dossier avec le code natif dans votre dossier de projet. Cela crée la .donc les fichiers dans l'explorateur de fichier/ressources arbre en vertu de la jni dans Eclipse. Ces fonctions, si la syntaxe dans le code est correct, peut maintenant être appelés à partir de votre code java.

J'ai trouvé de nombreuses sources d'aide lors de l'installation et de se familiariser avec Android Developer Tools et le NDK. J'ai écrit un post de blog pour partager mes expériences et j'espère donner en retour à la communauté qui m'a aidé à obtenir là-bas qui peut vous aider à comprendre ma réponse: http://workingmatt.blogspot.co.uk/2013/03/set-up-android-sdk-and-ndk.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X