Итак, похоже, что есть много проблем, таких как мой, но не уверен, что какие-либо из них связаны с моей проблемой. ОК. У меня есть проект Android, который использует SDK в качестве справочной библиотеки. SDK содержит C++, поэтому я использую библиотеку android-ndk-r9. SDK, который я упоминаю в своем проекте Android, представляет собой JNI-библиотеку (Oooooo - scary stuff). О да, не дай мне забыть упомянуть армеави-v7a (который, кажется, еще один страшный предмет). Моя ошибка возникает, когда эта линия выполнена:AndroidRuntime Caused by: java.lang.unsatisfiedLinkError: Не удалось загрузить tfp_jni: findLibrary возвращается null
System.loadLibrary("tfp_jni");
tfp_jni действительно файл libtfp_jni.so в папке armeabi-v7a в ЛИЭС папке моей библиотеки SDK проекта. Этот проект библиотеки SDK содержит файл Android.mk. Я не думаю, что код туда попадает. Но вот содержание этого .mk файла:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := tfp-prebuilt
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/libtfp_jni.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
Тогда в моем Android проекта, у меня есть JNI папку, содержащую Android.mk и Application.mk. Вот содержание:
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES:=on
OPENCV_INSTALL_CAMERA:=off
include $(INNERID_ANDROID_ROOT)/Android.mk
include $(OPENCV_ANDROID_ROOT)/sdk/native/jni/OpenCV.mk
Application.mk
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-14
Переменные окружения
Дорожки и символы - Включает
Все остальные вкладки являются пустыми для источника Место и вывода Место, в котором отображается папка проекта, за исключением.
проект Android & Предпочтения
Я пробовал различные другие ответы от подобных вопросов на Stackoverflow без успеха. Пожалуйста, дайте мне знать, если есть что-то еще, что вам нужно увидеть, и я предоставлю дополнительную информацию как можно скорее.
Спасибо.
---------------------------------------------- ----------- Новое изображение ----------------------------------- --------------
Correction! Apk находится в папке project/bin для проверки-демонстрации. Реферированная библиотека tfp_java.jar - это проект библиотеки SDK. Из Finder вы можете видеть, что файл .so находится в libs. Помогает ли это?
.apk-файлы - это просто причудливые zip-файлы, поэтому откройте файл .apk с помощью zip-файла и посмотрите, делает ли файл .so его в apk. –
@ChrisStratton - Извините! Где апк? – Patricia
Из памяти, возможно, в папке bin/под вашим деревом проектов, если вы недавно сделали сборку для установки. –