Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify directory for NDK_MODULE_PATH

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.

like image 935
Tae-Sung Shin Avatar asked Dec 18 '11 03:12

Tae-Sung Shin


3 Answers

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)
like image 135
Tod Avatar answered Oct 20 '22 00:10

Tod


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)
    
like image 29
Michael Wang Avatar answered Oct 19 '22 22:10

Michael Wang


$(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

like image 30
pinxue Avatar answered Oct 19 '22 23:10

pinxue