Я использую собственный код в своем приложении для Android. Во-первых, я использовал только одну библиотеку. Так что все сработало хорошо. Но теперь мне нужно интегрировать в него еще одну библиотеку. Я не знаю, какая должна быть идеальная структура jni-папки моего проекта (как в том, где разместить весь код и т.д.). Я нашел работу. Я создал две папки внутри jni.i.e library1 и library2. Снова создала папку jni внутри обеих папок и разместила соответствующий код в папках.
Я получил его для компиляции. Оба .so файла сгенерированы, но я не могу использовать его в своем приложении. Я не могу загрузить библиотеку с помощью System.loadLibrary( "library1.so" ); Также попытался предоставить полный путь. Но не удалось
Также я понятия не имею, что писать внутри родительского jni файла Android.mk.
Текущая структура: project_folder → jni → library1 → jni → "исходный код", здесь написан Android.mk project_folder → jni → library2 → jni → "исходный код" здесь написан Android.mk
ОБНОВЛЕНИЕ # 1:
Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
make: *** No rule to make target `jni/zap/jni/zap/zap/error.c', needed by `obj/local/armeabi/objs-debug/zap/jni/zap/zap/error.o'. Stop.
Я не использую Application.mk. Это мой Android.mk:
TOP_PATH := $(call my-dir)
# Build library 1
include $(CLEAR_VARS)
LOCAL_PATH := $(TOP_PATH)/zap
LOCAL_MODULE := zap
LOCAL_C_INCLUDES := $(LOCAL_PATH)/zap
LOCAL_SRC_FILES := $(LOCAL_PATH)/zap/error.c \
$(LOCAL_PATH)/zap/hello-jni.c \
$(LOCAL_PATH)/zap/zap.c \
$(LOCAL_PATH)/zap/zapd.c \
$(LOCAL_PATH)/zap/zaplib.c
include $(BUILD_SHARED_LIBRARY)