2

私は非常に単純なテストプロジェクトを持っています。基本的に、jni の下に 1 つのネイティブ c ファイルがあります (jni はプロジェクトのルートの下にあり、'src' 'res' などと同じディレクトリにあります)。make ファイルは基本的に最も単純です。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := native
LOCAL_SRC_FILES := native.c
include $(BUILD_SHARED_LIBRARY)

エラー メッセージは次のとおりです: make: *ターゲット ` '/native.c' を作成するルールがありません。が必要... 明らかに ndk-build はルートの下でファイルを見つけようとしていました。ファイルをルート '/' にコピーするか、make ファイルで 'native.c' のフル パスを指定すれば問題ありません。

また、$(warning, '$(LOCAL_PATH)') で $LOCAL_PATH を出力しようとしましたが、問題はありませんでした。

4

1 に答える 1

1

次の内容で Android.mk を作成します。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := native
LOCAL_SRC_FILES := native.c
include $(BUILD_SHARED_LIBRARY)

Android.mknative.cと同じフォルダーに配置します。

走るndk-build

次のような出力が得られます。

D:\12314\jni>ndk-build
"Compile thumb : native <= native.c
SharedLibrary  : libnative.so
Install        : libnative.so => libs/armeabi/libnative.so
于 2012-09-22T19:47:55.293 に答える