Carregando bibliotecas compartilhadas de terceiros de uma atividade nativa do Android

Eu construí a biblioteca Assimp como uma biblioteca compartilhada. Eu o incluí no meu projeto Android ndk e ele é compilado, mas quando o carrego, recebo o seguinte erro: Não é possível carregar a biblioteca nativa: My-Native-Activity.

(Talvez eu deva acrescentar que minha atividade funciona bem quando a biblioteca não está incluída e que eu verifiquei o apk e o dispositivo; a biblioteca está sendo adicionada à pasta libs e instalada no dispositivo em / data / data / my-app / lib.)

Eu li muito e parece que a única maneira de resolver isso é carregá-los usando System.loadLibrary antes de iniciar minha atividade nativa. Acho que prefiro carregá-los dinamicamente usando o dlopen antes de adotar essa abordage

Estou correto ao supor que o Android não carregará automaticamente as bibliotecas compartilhadas das quais minha atividade nativa (ou seja, minha biblioteca compartilhada) depende?

Eu o criaria como uma biblioteca estática, mas tinha mais de 54Mb, o que não funcionari

Este é o meu Android.mk: tentei adicionar -lassimp a LOCAL_LDLIBS. Não tenho certeza se isso seria correto, mas não fez nenhuma diferenç

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE                        := assimp
LOCAL_SRC_FILES                     := libassimp.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE                        := native-activity
LOCAL_SRC_FILES                     := main.cpp 
LOCAL_LDLIBS                        := -llog -landroid -lEGL -lGLESv2 
LOCAL_STATIC_LIBRARIES              := android_native_app_glue
LOCAL_SHARED_LIBRARIES              := assimp
LOCAL_CPPFLAGS                      += -march=armv7-a -mfloat-abi=softfp
LOCAL_CFLAGS                := $(LOCAL_CPPFLAGS)
TARGET_ARCH_ABI                     := armeabi-v7a
LOCAL_C_INCLUDES            += $(LOCAL_PATH)
include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)

questionAnswers(4)

yourAnswerToTheQuestion