Неудовлетворенная ошибка связи - не удалось найти библиотеку - PullRequest
3 голосов
/ 18 июня 2011

Я пытаюсь загрузить предварительно собранную библиотеку libjnigraphics.so в мой проект, однако при развертывании приложения я получаю эту ошибку:

06-17 22:35:28.741: INFO/dalvikvm(298): Unable to dlopen(/data/data/com.foo/lib/libndkfoo.so): Cannot load library: link_image[1721]:    29 could not load needed library 'libjnigraphics.so' for 'libndkfoo.so' (load_library[1051]: Library 'libjnigraphics.so' not found)

error

Отлично компилируется.

Вот и мой Android.mk:

LOCAL_PATH := $(call my-dir)

# Add prebuilt libjnigraphics
include $(CLEAR_VARS)

LOCAL_MODULE := libjnigraphics
LOCAL_SRC_FILES := libjnigraphics.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include

include $(PREBUILT_SHARED_LIBRARY)


include $(CLEAR_VARS)

# Here we give our module name and source file(s)
LOCAL_MODULE    := ndkfoo
LOCAL_SRC_FILES := ndkfoo.c
LOCAL_SHARED_LIBRARY := libjnigraphics
#LOCAL_LDLIBS += -libjnigraphics
LOCAL_LDLIBS += -llog

include $(BUILD_SHARED_LIBRARY)

Есть ли специальное место, куда мне нужно поместить libjnigraphics.so? Прямо сейчас у меня есть это в папке jni, однако я попробовал это во многих других местах, и это все еще терпит неудачу. Любая помощь?

Ответы [ 2 ]

2 голосов
/ 19 июня 2011

Устройство должно быть под управлением Foyo (Android 2.2, целевая платформа android-8), чтобы иметь возможность использовать libjnigraphics.so.Неважно, что находится в вашем SDK или каталогах проекта, эта библиотека является частью системных библиотек устройства.

Вы можете скомпилировать свой код, используя NDK с android-8, но тогда он даст ссылкуошибки времени, когда вы загружаете apk, и ваше устройство работает 2.1 или более ранней версии.

Этот SO вопрос имеет обходной путь, но на него не следует полагатьсясбой на некоторых устройствах.Вот сообщение в группе android-ndk , объясняющее проблемы.

0 голосов
/ 08 августа 2014

просто попробуйте внести следующие изменения:

LOCAL_PATH := $(call my-dir)

# Добавить готовую библиотеку libjnigraphics

include $ (CLEAR_VARS)

LOCAL_MODULE: = prebuilt с графикой

LOCAL_SRC_FILES: = libjnigraphics.so

LOCAL_EXPORT_C_INCLUDES: = $ (LOCAL_PATH) / include

include $ (PREBUILT_SHARED_LIBRARY)

include $ CAL (C $)1018 * LOCAL_MODULE: = ndkfoo

LOCAL_SRC_FILES: = ndkfoo.c

LOCAL_SHARED_LIBRARY: = предварительно встроенная графика

LOCAL_LDLIBS + = -l26 * 10 * включая $ 10 (10) * 10 $BUILD_SHARED_LIBRARY)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...