How to specify directory for NDK_MODULE_PATH
Asked Answered
K

3

18

I am having a trouble with this simple task for last couple of hours.

I have ndk-modules directory in root of my Android project and I have following in my Android.mk of jni folder

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
NDK_MODULE_PATH := $(LOCAL_PATH)/../ndk-modules
...
$(call import-module,mymodule)

When I build the mk file, I got

Android NDK: /MyApp/jni/Android.mk: Cannot find module with tag 'mymodule' in import path    
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    

What am I doing wrong here? How can I specify the path correctly?

UPDATE:

The specification was right. I had a problem in mymodule directory. Sorry for the confusion.

Kellda answered 18/12, 2011 at 3:52 Comment(0)
R
28

NDK_MODULE_PATH must be in your path. I wanted to specify it in my Android.mk file so I added this line before the import-module line:

$(call import-add-path,my_relative_path)
Ruralize answered 26/1, 2012 at 1:58 Comment(3)
can u elebprate what do you mean by -add-path and my_relative_pathCapitalization
like this $(call import-add-path, /home/bluemix/tmp/android-ffmpeg-tutorial01-master/jni) $(call import-module,ffmpeg-2.6.2/android/arm)Pertain
check following implementation. Make much more sense github.com/julienr/protobuf-androidAesthetic
I
4

In my case, I fixed it by realizing NDK searches for:

$NDK_MODULE_PATH/module_name/Android.mk

But my "module_name" is an Eclipse project where Android.mk is under:

$NDK_MODULE_PATH/module_name/jni/Android.mk

So NDK cannot find it. I fixed it by:

  1. Move module_name/jni/* to "somewhere/module_name".
  2. In Android.mk:

    $(call import-add-path, /path/to/somewhere)
    $(call import-module,module_name)
    
Infatuated answered 5/10, 2013 at 7:7 Comment(0)
B
1

$(call import-module,mymodule) will search $NDK_MODULE_PATH/mymodule, you may set path to top level of the project or create a folder named mymodule under ndk-modules

Bucolic answered 18/12, 2011 at 4:6 Comment(1)
If your Android.mk is in prj/jni, then $LOCAL_PATH/.. should be the top.Bucolic

© 2022 - 2024 — McMap. All rights reserved.