web-dev-qa-db-fra.com

NDK ne trouve pas le répertoire de l'application

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
65

Vous pouvez utiliser la commande suivante

ndk-build -C your_project_path

J'espère que cela répondra à votre question.

27

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
26
gipi

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
19
tonylo

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
14
Sogartar
ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main
14
NickUnuchek

C’est ce que j’utilise, cd dans le répertoire du projet et fais:

ndk-build NDK_PROJECT_PATH=.

enter image description here

10
Yuchen Zhong

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é!!

4
Kirtikumar A.

-C a travaillé pour moi.

enter image description here

Vous pouvez également utiliser le terminal mac pour ce faire.

3
Aby Mathew

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
3
Illegal Argument

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.

2
Sinh Ho

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

0
colordancer