Android的NDK:没有规则,使目标规则、目标、Android、NDK

2023-09-12 22:01:37 作者:逆臣

我试图建立使用NDK一个简单的Andr​​oid应用程序。 这里是我的Andr​​oid.mk的内容

I'm trying to build a simple Android application using NDK. Here are the contents of my Android.mk

LOCAL_PATH := $(call my-dir)  

include $(CLEAR_VARS)  

LOCAL_LDLIBS := -llog  

LOCAL_MODULE    := myNDK
LOCAL_SRC_FILES := native.c

include $(BUILD_SHARED_LIBRARY)

当我运行NDK建造我得到:

And when I'm running ndk-build I get:

请 * 的无规则,使目标   / native.c,需要   /用户/伊万/文件/工作区/ TestNDK / OBJ /本地/ armeabi / OBJ文件/ myNDK / native.o。   停止。

make: * No rule to make target '/native.c', needed by '/Users/ivan/Documents/workspace/TestNDK/obj/local/armeabi/objs/myNDK/native.o'. Stop.

所以,这个问题显然是提出的是搜索源文件的根目录,如果我复制native.c到我的根文件夹中的一切完美的作品。

So the problem is obviously that make is searching the source files in the root directory and if I copy native.c to my root folder everything works perfectly.

现在的问题是:我应该在我的Andr​​oid.mk指定的LOCAL_PATH设置为我的工作JNI文件夹

The question is: what should I specify in my Android.mk to set the LOCAL_PATH to my working jni folder.

推荐答案

好了,我已经解决了我的问题,原因很奇怪: 问题是在第一行

OK, I've solved my issue, and the reason was very strange: the problem is in the first line

LOCAL_PATH:= $(叫我-DIR)____

'LOCAL_PATH := $(call my-dir)____'

它有几个空间到底(我把它换成他们_)。如果删除它们都工作得很好。

It had several spaces in the end (I've replaced them with '_'). If you remove them everything works just fine.

希望有所帮助别人。