過去数時間、この単純なタスクで問題が発生しています。
Androidプロジェクトのルートにndk-modulesディレクトリーがあり、jniフォルダーのAndroid.mkに以下を持っています
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 ?
ここで何が悪いのですか?パスを正しく指定するにはどうすればよいですか?
更新:
仕様は正しかった。 mymoduleディレクトリに問題がありました。混乱させて申し訳ありません。
NDK_MODULE_PATHがパスに含まれている必要があります。 Android.mkファイルで指定したかったので、import-module行の前に次の行を追加しました。
$(call import-add-path,my_relative_path)
私の場合、NDK検索を実現することで修正しました。
$NDK_MODULE_PATH/module_name/Android.mk
しかし、私の「module_name」は、Android.mkが置かれているEclipseプロジェクトです。
$NDK_MODULE_PATH/module_name/jni/Android.mk
したがって、NDKはそれを見つけることができません。私はそれを修正しました:
Android.mkの場合:
$(call import-add-path, /path/to/somewhere)
$(call import-module,module_name)
$(call import-module、mymodule)は$ NDK_MODULE_PATH/mymoduleを検索します。パスをプロジェクトの最上位に設定するか、ndk-modulesの下にmymoduleという名前のフォルダーを作成します