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-build NDK_APPLICATION_MK=path\to\your\src\main\jni\Application.mk NDK_PROJECT_PATH=path\to\your\module\src\main
You can use the following command
ndk-build -C your_project_path
Hope this will answer your question.
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
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
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.