Lors de l'exécution de la commande ndk-build, l'erreur suivante apparaît:
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
Le contenu de mon fichier Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := FRE
LOCAL_SRC_FILES := FlashRuntimeExtensions.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := NativeQCAR
LOCAL_SRC_FILES := main.c
LOCAL_SHARED_LIBRARIES := FRE
include $(BUILD_SHARED_LIBRARY)
L'ajout de la ligne suivante n'aide pas:
NDK_PROJECT_PATH = C:/Users/Wessel/Dropbox/workspace/Eclipse/NativeQ
Vous pouvez utiliser la commande suivante
ndk-build -C your_project_path
J'espère que cela répondra à votre question.
NDK_PROJECT_PATH
est une variable d'environnement, vous n'avez donc pas à l'inclure dans le Android.mk
fichier. Est nkd-build
lancé dans le répertoire du projet?
Pour plus d'informations, lisez la documentation dans docs/HOWTO.html
dans le dossier NDK où je lis
À partir de NDK r4, vous pouvez simplement placer le fichier sous $ PROJECT/jni/et lancer le script 'ndk-build' à partir de votre arborescence de projet.
Si vous voulez utiliser 'ndk-build' mais placer le fichier dans un emplacement différent, utilisez un GNU Définir le remplacement de la variable de la manière suivante:
ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk
Je n'ai trouvé aucune réponse satisfaisante pour moi. Cela dépend peut-être de la création d'une application existante, de la création d'une nouvelle application ou du portage d'une application native existante. Ces instructions fonctionnent avec Android-ndk-r9b mais devraient fonctionner avec les dernières versions.
Le makefile build-local.mk utilisé par ndk-build laissera deviner l’emplacement du makefile de l’application.
Par défaut, il semble que le NDK soit orienté vers le stockage des fichiers de vos applications NDK Application.mk
Et Android.mk
Dans un sous-répertoire appelé jni
. Cela fonctionne bien et vous pouvez simplement utiliser la ligne de commande:
$ ndk-build
Si vous ne voulez pas avoir de sous-répertoire jni
, par exemple, vous portez peut-être un outil de ligne de commande linux sur Android, voici ce qui convient:
Créer un fichier AndroidManifest.xml
Vide
Créez maintenant un fichier Application.mk
Avec le contenu suivant:
APP_BUILD_SCRIPT := Android.mk
Créez ensuite un fichier Android.mk
, Par exemple:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := foo.c
LOCAL_MODULE := foo
include $(BUILD_EXECUTABLE)
Pour construire l'application, utilisez:
$ ndk-build NDK_APPLICATION_MK=`pwd`/Application.mk
Vous devez spécifier 3 choses.
NDK_PROJECT_PATH - the location of your project
NDK_APPLICATION_MK - the path of the Application.mk file
APP_BUILD_SCRIPT - the path to the Android.mk file
Celles-ci sont nécessaires pour remplacer les valeurs par défaut du script de construction, qui devrait contenir des éléments du dossier jni.
Lorsque vous appelez ndk-build, utilisez
ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk
Dans Application.mk, ajoutez
APP_BUILD_SCRIPT := /path/to/Android.mk
ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main
Suivez les étapes ci-dessous:
1)Right on your project
2)Go to properties
3)Go to C/C++ Build
4)Go to Builder Settings
5)Go to Build Location
Add build directory
6)Click on Workspace
7)Select your project folder
vous devriez voir quelque chose comme
${workspace_loc:/[Your Project_Name]}
Terminé!!
Cela a fonctionné pour moi. Aucune variable d'environnement et aucune configuration. Allez au répertoire racine où vous avez décompressé ndk en ligne de commande et exécutez la commande ndk-build:
ndk-build NDK_PROJECT_PATH = chemin d'accès à votre projet
Un exemple ressemblerait à ceci sur ma machine de développement:
C:\adt-bundle-windows-x86-20140321\Android-ndk-r9d>ndk-build NDK_PROJECT_PATH=D: /workspace/naruto
Android NDK: WARNING: APP_PLATFORM Android-19 is larger than Android:minSdkVersi on 9 in D:/workspace/naruto/AndroidManifest.xml
[armeabi] Compile thumb : ndkfoo <= ndkfoo.c
[armeabi] SharedLibrary : libndkfoo.so
[armeabi] Install : libndkfoo.so => libs/armeabi/libndkfoo.so
Vous devez suivre les étapes ci-dessous:
1. Allez dans le dossier contenant Android.mk
2.Assignez le chemin Android-ndk à $ NDK_PROJECT_PATH. par exemple: export NDK_PROJECT_PATH =/home/Android-ndk-r8b.
3.Ajouter NDK à $ PATH. Par exemple: export PATH = $ PATH:/home/Android-ndk-r8b.
Définir le répertoire de travail de votre constructeur ndk pourrait résoudre votre problème car j'ai eu le même problème et résolu de cette façon.
Chemin: Propriétés du projet -> Constructeurs -> -> Principal -> Répertoire de travail