我有一个非常简单的测试项目。基本上是jni下的一个本地c文件(jni是 在项目的根目录下,与' src'相同的目录' RES'等等)。制作 文件基本上是最简单的:
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试图在root下找到该文件。如果我复制文件 到根' /'或者如果我指定' native.c'的完整路径在make文件中, 事情还可以。
我还尝试用$输出$ LOCAL_PATH(警告,' $(LOCAL_PATH)')并发现没问题。
答案 0 :(得分:1)
使用以下内容创建Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native
LOCAL_SRC_FILES := native.c
include $(BUILD_SHARED_LIBRARY)
将native.c
放在Android.mk所在的同一文件夹中。
运行ndk-build
您将获得如下输出:
D:\12314\jni>ndk-build
"Compile thumb : native <= native.c
SharedLibrary : libnative.so
Install : libnative.so => libs/armeabi/libnative.so