Я пытаюсь создать свой проект, у которого есть два файла.so: libTheGame.so liblua.so Оба находятся в apk, но сбой проекта при запуске:
Вызвано: java.lang.IllegalArgumentException: невозможно загрузить собственную библиотеку: /data/data/com.piotrekb.theGame/lib/libTheGame.so
Я могу создать и обедать с обоими так, но без библиотеки lua, добавленной в TheGame:/Но когда я добавляю
LOCAL_SHARED_LIBRARIES := lua
авария:/
Это мой android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := lua
LOCAL_SRC_FILES := ./Libs/lua-5.2.0/src/llex.c \
./Libs/lua-5.2.0/src/lapi.c \
./Libs/lua-5.2.0/src/loadlib.c \
./Libs/lua-5.2.0/src/lvm.c \
./Libs/lua-5.2.0/src/lundump.c \
./Libs/lua-5.2.0/src/lauxlib.c \
./Libs/lua-5.2.0/src/lparser.c \
./Libs/lua-5.2.0/src/lgc.c \
./Libs/lua-5.2.0/src/lobject.c \
./Libs/lua-5.2.0/src/lstrlib.c \
./Libs/lua-5.2.0/src/lbaselib.c \
./Libs/lua-5.2.0/src/ldebug.c \
./Libs/lua-5.2.0/src/lmem.c \
./Libs/lua-5.2.0/src/ltable.c \
./Libs/lua-5.2.0/src/loslib.c \
./Libs/lua-5.2.0/src/ldo.c \
./Libs/lua-5.2.0/src/ltablib.c \
./Libs/lua-5.2.0/src/liolib.c \
./Libs/lua-5.2.0/src/ldump.c \
./Libs/lua-5.2.0/src/ldblib.c \
./Libs/lua-5.2.0/src/lstate.c \
./Libs/lua-5.2.0/src/lctype.c \
./Libs/lua-5.2.0/src/lcode.c \
./Libs/lua-5.2.0/src/lcorolib.c \
./Libs/lua-5.2.0/src/lzio.c \
./Libs/lua-5.2.0/src/lmathlib.c \
./Libs/lua-5.2.0/src/lbitlib.c \
./Libs/lua-5.2.0/src/ltm.c \
./Libs/lua-5.2.0/src/lstring.c \
./Libs/lua-5.2.0/src/lopcodes.c \
./Libs/lua-5.2.0/src/linit.c \
./Libs/lua-5.2.0/src/lfunc.c
LOCAL_LDLIBS := -lm
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := -I$(LOCAL_PATH)/Libs/cml-1_0_2 -I$(STLPORT_BASE)/stlport
LOCAL_MODULE := TheGame
LOCAL_SRC_FILES := ./UISystem/UISystem.cpp ./ScriptSystem/ScriptSystem.cpp ./World3D/World3D.cpp ./ResourceSystem/ResourceSystem.cpp ./Renderer/Image.cpp \
./Renderer/Model3D.cpp ./LevelSystem/LevelSystem.cpp ./Renderer/ShaderProgram.cpp ./Common/Common.cpp ./Common/Engine.cpp ./Common/InDataBunch.cpp \
./Common/OutDataBunch.cpp ./Input/Input.cpp ./Game/Game.cpp ./Renderer/GL20Renderer.cpp \
./EntitySystem/EntitySystem.cpp TheGame.cpp
LOCAL_LDLIBS := -lm -llog -landroid -lGLESv2 -lEGL
LOCAL_SHARED_LIBRARIES := lua ##this line causes crash
LOCAL_STATIC_LIBRARIES := android_native_app_glue
LOCAL_CFLAGS+=$(LOCAL_C_INCLUDES)
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
Вы знаете, как я могу с этим справиться:/? Я изучил подобные вопросы, но они мне не помогают.
У меня была очень похожая проблема. Наконец, завершилась сборка библиотек в отдельных файлах mk.
Я думаю, что этот ответ может вам помочь. Соединение Android NDK