2011-12-18 74 views
15

我在最近幾個小時遇到了這個簡單任務的問題。如何爲NDK_MODULE_PATH指定目錄

我已經NDK-modules目錄在我的Android項目的根,我在Android.mk JNI文件夾下面

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

當我建立MK文件,我得到了

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 ?  

我在這裏做錯了什麼?我如何正確指定路徑?

UPDATE:

該規範是正確的。我在mymodule目錄中遇到問題。對困惑感到抱歉。

回答

26

NDK_MODULE_PATH必須在您的路徑。我想在我的Android.mk文件中指定它,所以我在導入模塊行前加入這一行:

$(call import-add-path,my_relative_path) 
+3

可以通過-add-path和my_relative_path – 2015-05-11 14:18:04

+0

這個'''$(call import-add-path,/ home/bluemix/tmp/android-ffmpeg-tutorial01-master/jni)來代表你的意思是什麼 $(調用import-module,ffmpeg-2.6.2/android/arm)''' – 2015-06-13 21:57:43

+0

檢查下面的實現。更有意義https://github.com/julienr/protobuf-android – CoDe 2015-09-21 06:20:13

1

$(電話進口模塊,MyModule的)將搜索$ NDK_MODULE_PATH/mymodule中,你可以通過設置路徑項目的頂層或下NDK模塊創建一個文件夾名爲MyModule的

+0

如果你的Android.mk是在PRJ/JNI,那麼$ LOCAL_PATH/..應該是頂部。 – pinxue 2011-12-18 04:25:53

3

就我而言,我固定它通過實現NDK搜索:

$NDK_MODULE_PATH/module_name/Android.mk 

但我的「module_name」是Android.mk所在的Eclipse項目:

$NDK_MODULE_PATH/module_name/jni/Android.mk 

因此NDK找不到它。我通過:

  1. 將module_name/jni/*移動到「somewhere/module_name」。
  2. 在Android.mk:

    $(call import-add-path, /path/to/somewhere) 
    $(call import-module,module_name)