Android ndk 在NDK中包含库时出错
我的project/jni文件夹中有以下代码作为我的Android.mk。文件夹libA位于project/jni中,它有一个Android.mk。我将libA包含在jni/Android.mk中 jni/Android.mk:Android ndk 在NDK中包含库时出错,android-ndk,shared-libraries,Android Ndk,Shared Libraries,我的project/jni文件夹中有以下代码作为我的Android.mk。文件夹libA位于project/jni中,它有一个Android.mk。我将libA包含在jni/Android.mk中 jni/Android.mk: LOCAL_PATH := $(call my-dir) include $(LOCAL_PATH)/libA/Android.mk include $(CLEAR_VARS) LOCAL_MODULE := hello-jni LOCAL_SRC_FILES
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/libA/Android.mk
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
我得到这个错误
jni/Android.mk:16: jni: Permission denied
jni/Android.mk:16: /libA/Android.mk: No such file or directory
make: *** No rule to make target `/libA/Android.mk'. Stop.
我尝试了下面给出的解决方案:
.但同样的错误再次出现。我不知道为什么会发生这种情况。在做了一些研究之后,我没有把makefiles放在不同的目录中,而是将库的源代码放在/jni中,并从/jni/Android.mk编译,问题就解决了。
我想这是最简单的方法,Makefile是一件棘手的事情。当你调用子目录等时,我的目录会改变。 但是您实际上可以解决它,而无需将源代码放在/jni文件中
MY_PATH = $(call my-dir)
LOCAL_PATH = $(MY_PATH)
在清除变量之前调用第二个语句。完成了