2013-07-10 2 views
3

У меня есть следующие 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 неправильным или что-то в этом роде?

ответ

3

Похоже, я думал, когда я загрузил его в другой класс, он будет использоваться для этого. Это предположение было неверным, и мне пришлось загрузить обе библиотеки в классе.

+0

Исправить. Android-загрузчик не выглядит в папке app-lib для ** so ** файлов, которые могут разрешать отсутствующие ссылки, но только в '/ system/lib' –

+2

@Jackie Итак, что вы на самом деле делаете, чтобы исправить это? Добавить вызов в System.loadLibrary ("box2D") в свой класс NativeActivity? Измените свой Android.mk? – OldPeculier

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