NDK can't find the application directory

Android NdkMakefile

Android Ndk Problem Overview


When running the ndk-build command I get the following error:

Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.

The contents of my Android.mk file:

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)

Adding the following line doesn't help:

NDK_PROJECT_PATH = C:/Users/Wessel/Dropbox/workspace/eclipse/NativeQ

Android Ndk Solutions


Solution 1 - Android Ndk

You can use the following command

ndk-build -C your_project_path

Hope this will answer your question.

Solution 2 - Android Ndk

NDK_PROJECT_PATH is an environment variable so you don't have to include in the Android.mk file. Is nkd-build launched in the project directory?

For more info read the docs in docs/HOWTO.html in the NDK folder where I read

> Starting with NDK r4, you can simply place the file under $PROJECT/jni/ and launch the 'ndk-build' script from your project tree.

> If you want to use 'ndk-build' but place the file to a different location, use a GNU Make variable override as: > ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk

Solution 3 - Android Ndk

I haven't found a single answer which is satisfactory for me, perhaps it depends whether you're trying to build an existing application, create a new one, or perhaps you are porting some existing native app. These guidelines work with android-ndk-r9b but should work with the last few releases

The makefile build-local.mk used by ndk-build will make some guesses about the location of the application makefile.

By default it seems the NDK is oriented towards having you stow your NDK application Application.mk and Android.mk files under a sub-directory called jni. This works nicely, and you can just use the command line:

$ ndk-build

If you don't want to have a jni sub-directory, for example, perhaps you're porting a linux command-line tool to Android, the following maybe appropriate for you:

Create an empty AndroidManifest.xml file

Now create an Application.mk file with the following contents:

APP_BUILD_SCRIPT := Android.mk

Then create an Android.mk file, for example:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := foo.c
LOCAL_MODULE := foo
include $(BUILD_EXECUTABLE)

To build the application use:

$ ndk-build NDK_APPLICATION_MK=`pwd`/Application.mk

Solution 4 - Android Ndk

You need to specify 3 things.

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

These are needed to override the default values of the build script, which expects things to be in the jni folder.

When calling ndk-build use

ndk-build NDK_PROJECT_PATH=/path/to/proj NDK_APPLICATION_MK=/path/to/Application.mk

In Application.mk add

APP_BUILD_SCRIPT := /path/to/Android.mk

Solution 5 - Android Ndk

ndk-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main

Solution 6 - Android Ndk

This is what I use, cd into the project directory and do:

ndk-build NDK_PROJECT_PATH=.

enter image description here

Solution 7 - Android Ndk

Follow Below steps:

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

you should see something like

${workspace_loc:/[Your Project_Name]}

Done!!

Solution 8 - Android Ndk

This worked for me. No environment variables and no setups. Go to the root directory where you unzipped ndk on command line and run ndk-build command:

> ndk-build NDK_PROJECT_PATH=path to your project

A sample would look like this in my dev machine:

 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

Solution 9 - Android Ndk

-C worked for me.

enter image description here

You can also use the mac terminal to do this.

Solution 10 - Android Ndk

You need to follow steps below:

1.Go to folder containing Android.mk

2.Assign the android-ndk path to $NDK_PROJECT_PATH. eg: export NDK_PROJECT_PATH =/home/android-ndk-r8b.

3.Add NDK to $PATH. eg: export PATH=$PATH:/home/android-ndk-r8b.

Solution 11 - Android Ndk

Set your ndk builder's working directory could solve your problem as I got the same problem and solved it in this way.

Path: Project Properties -> Builders -> -> Main -> Working Directory

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWessel van der LindenView Question on Stackoverflow
Solution 1 - Android NdkSachini SamarasingheView Answer on Stackoverflow
Solution 2 - Android NdkgipiView Answer on Stackoverflow
Solution 3 - Android NdktonyloView Answer on Stackoverflow
Solution 4 - Android NdkSogartarView Answer on Stackoverflow
Solution 5 - Android NdkNickUnuchekView Answer on Stackoverflow
Solution 6 - Android NdkYuchenView Answer on Stackoverflow
Solution 7 - Android NdkKirtikumar A.View Answer on Stackoverflow
Solution 8 - Android NdkIllegal ArgumentView Answer on Stackoverflow
Solution 9 - Android NdkVettiyanakanView Answer on Stackoverflow
Solution 10 - Android NdkSinh HoView Answer on Stackoverflow
Solution 11 - Android NdkcolordancerView Answer on Stackoverflow