Je reçois le message d'erreur suivant lors de la compilation d'un projet NDK Android:
ndk-build
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /home/lambergar/work/APIExample/jni/Android.mk
/home/lambergar/Android/ndk/Android-ndk-r5c/build/core/add-application.mk:116: *** Android NDK: Aborting... . Stop.
Ce qui est étrange, c'est que le "fichier inconnu" (Android.mk) existe sous le chemin indiqué comme non valide.
J'ai résolu le problème en ajoutant une nouvelle version au projet et le tour est joué, cela fonctionne ... Je ne sais pas quel était le problème avec la construction de la CLI.
Même problème (sous Windows 7) mais la cause est différente.
Après avoir recherché dans les paramètres d'environnement, j'ai trouvé la chose perverse nommée "NDK_PROJECT_PATH" qui a pour valeur est un chemin non valide.
Supprimé et les choses fonctionnent à nouveau;)
Je viens d'avoir le même problème. Je l'ai corrigé en créant un Application.mk dans $ NDK/apps/ndktestapp avec le contenu suivant:
APP_PROJECT_PATH := /cygdrive/c/workspace/MyApp
puis en appelant
make APP=ndktestapp
de la racine NDK. J'espère que cela pourra aider.
Dans mon cas, le problème était lié aux espaces dans le chemin du projet. Dans ce cas, modifiez les dossiers du chemin du projet et réimportez le projet.
Je viens de passer une heure ou deux à essayer de comprendre celui-ci. Beaucoup, beaucoup de gens ont eu ce problème. Mais comme j'ai découvert que je n'avais pas de nom de fichier Android.mk, il s'appelait Andriod.mk et que cela suffisait pour me causer beaucoup de problèmes. Désolé pour mon discours original mais c’est tout le problème à la fin. Je suggère que si vous avez ce problème, vous devriez tout vérifier jusqu'à ce que vous trouviez quelque chose qui ne va pas.
Cela m'a corrigé. Merci les gars vous m'avez mis sur la bonne voie de toute façon.
Vous devez définir la variable env NDK_PROJECT_PATH
à la racine du projet que vous créez. La racine de votre projet NDK contient généralement le répertoire ./jni
.
export NDK_PROJECT_PATH={root_of_project}
Si votre code JNI se trouve dans une bibliothèque, définissez NDK_PROJECT_PATH
sur le projet de bibliothèque.
Je viens de voir ce problème aujourd'hui. Dans mon cas, le problème réel était les espaces à l'intérieur du chemin du projet.
(oui, ndk-build
ne compilera pas votre projet si vous avez des espaces dans le nom du dossier)
comme @phavens, je pense que ce n’est que faux avec les fichiers Word Android.mk et Android.mk, que nous venons de passer pendant 5 minutes .. hehe
Ne faites aucun espace blanc dans le répertoire du projet. Si des erreurs reviennent , Éditez le build.gradle (module: app) en dessous buildTypes block et ajoutez ces lignes comme ci-dessous:
buildTypes {
release {
......................
}
}
sourceSets { main { jni.srcDirs = ['src/main/jni/','src/main/jniLibs/'] } }
externalNativeBuild {
ndkBuild {
path 'build/intermediates/ndk/debug/Android.mk'
}
}
Dans le fichier Android.mk, vous indiquez le chemin où se trouve le dossier jni ... Dans votre cas ARTOOLKIT_DIR: =/home/lambergar/work/APIExample /
dans mon cas, le nom du dossier du projet comportait un espace, ce qui a permis de le réimporter dans Android Studio, ce qui a résolu le problème.
Je viens d'installer Android-NDK et d'essayer "ndk-build". J'ai eu exactement la même erreur. Voici comment je l'ai battu.
bash
export NDK_PROJECT_PATH={root_of_Android_ndk}/samples/hello-jni
./ndk-build
Cela a fonctionné.