2011-12-18 13 views
15

このシンプルなタスクで何時間も問題を抱えています。NDK_MODULE_PATHのディレクトリを指定する方法

私は自分のAndroidプロジェクトのルートディレクトリを、モジュールにNDKていると私は私がMKファイルをビルドすると、私が得た

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

私Android.mk JNIフォルダの中に以下のいる

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ディレクトリに問題がありました。混乱させて申し訳ありません。

答えて

26

NDK_MODULE_PATHがパスでなければなりませんNDK-モジュールの下MyModuleという名前のフォルダを作成して。私は、ファイルの私Android.mkでそれを指定したかったので、私は、インポートモジュールの行の前に次の行を追加しました:私の場合は

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

-add-pathとmy_relative_pathの意味は何ですか? –

+0

のように '' '$(call import-add-path、/ home/bluemix/tmp/android-ffmpeg-tutorial01-master/jni) $ import import-module、ffmpeg-2.6.2/android/arm) '' ' –

+0

以下の実装をチェックしてください。はるかに分かりやすいhttps://github.com/julienr/protobuf-android – CoDe

1

$(コール輸入モジュール、MyModuleという)は$ NDK_MODULE_PATH /のmymoduleを検索するには、プロジェクトのトップレベルへのパスを設定したり、

+0

あなたAndroid.mkがPRJ/JNIである場合には、$ LOCAL_PATH/..がトップでなければなりません。 – pinxue

3

、私はNDKを実現することにより、それを修正するために検索します。

$NDK_MODULE_PATH/module_name/Android.mk 

しかし、私の "module_name"は、Android.mkがあるEclipseプロジェクトです。

$NDK_MODULE_PATH/module_name/jni/Android.mk 

したがって、NDKは見つかりませんでした。私はそれを修正しました:

  1. "somewhere/module_name"にモジュール名/ jni/*を移動します。 Android.mkで
  2. $(call import-add-path, /path/to/somewhere) 
    $(call import-module,module_name) 
    
関連する問題