У меня есть следующие Android.mk ...проблемы с загрузкой зависимую .so в Android NDK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Box2D-local
LOCAL_SRC_FILES := $(LOCAL_PATH)/../Box2D/libs/$(TARGET_ARCH_ABI)/libbox2D.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := openbox
LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. $(LOCAL_PATH)
NDK_OUT :=../../
LOCAL_SRC_FILES := \
$(subst $(LOCAL_PATH)/,, \
$(wildcard $(LOCAL_PATH)/*.cpp) \
$(wildcard $(LOCAL_PATH)/Collision/Shapes/*.cpp))
LOCAL_LDLIBS := -lm -llog -ldl -lGLESv1_CM
LOCAL_SHARED_LIBRARIES := Box2D-local
include $(BUILD_SHARED_LIBRARY)
Все отлично компилируется, но при запуске приложения я вижу ....
D/dalvikvm (14851): Попытка загрузить LIB /data/app-lib/com.lmdig.android.tutorial.oglbox2dbasics-1/libopenbox.so 0x40ce7138
E/dalvikvm (14851): dlopen ("/ данных/app-lib/com.lmdig.android.tutorial.oglbox2dbasics-1/libopenbox.so ") не удалось: невозможно загрузить библиотеку : soinfo_link_image (linker.cpp: 1635): не удалось загрузить библиотеку «libbox2D.so», необходимую «libopenbox.so»; вызванные load_library (linker.cpp: 745): библиотека "libbox2D.so" не найдено
Но когда я Л.С. /data/app-lib/com.lmdig.android.tutorial.oglbox2dbasics-1/ папку на устройстве, которое я вижу ...
[email protected]:/ # ls /data/app-lib/com.lmdig.android.tutorial.oglbox2dbasics-1/
libbox2D.so
libopenbox.so
Является ли мой LOCAL_SRC_FILES неправильным или что-то в этом роде?
Исправить. Android-загрузчик не выглядит в папке app-lib для ** so ** файлов, которые могут разрешать отсутствующие ссылки, но только в '/ system/lib' –
@Jackie Итак, что вы на самом деле делаете, чтобы исправить это? Добавить вызов в System.loadLibrary ("box2D") в свой класс NativeActivity? Измените свой Android.mk? – OldPeculier