2012-05-21 2 views
2

У меня есть следующий код в качестве моего Android.mk в папке project/jni. папка libA находится в проекте/jni, и у нее есть Android.mk. Я включил Либа в JNI/Android.mkОшибка при включении библиотеки в NDK

JNI/Android.mk:

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. 

Я попробовал решение, даваемое в этом: No rule to make target NDK .Но то же самое ошибка снова появилась. Я не могу понять, почему это происходит.

+0

Любые предложения? – jaffa

ответ

1

Makefile - сложная штука. my-dir изменяется, когда u вызывает вспомогательные каталоги и т. д. Но вы действительно можете решить проблему, не помещая исходный код в/jni-файл.

MY_PATH = $(call my-dir) 
LOCAL_PATH = $(MY_PATH) 

Звоните 2-ое заявление перед любыми ясными варами. Готово!

+0

Спасибо, господин мой! – jaffa

1

После выполнения некоторых исследований, вместо того, чтобы испортить make-файлы в разных каталогах, я поместил исходный код библиотеки в/jni и скомпилировал ее из /jni/Android.mk, и проблема решена. Я думаю, что это самый простой способ сделать это

Смежные вопросы