android ndk UnsatisfiedLinkError ao usar uma biblioteca compartilhada pré-criada

Estou tentando criar uma biblioteca compartilhada que vincula a outra biblioteca compartilhad

Aqui está meu módulo principal Android.mk

TOP_LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)

LOCAL_PATH := $(TOP_LOCAL_PATH)

include $(CLEAR_VARS)

LOCAL_CPP_EXTENSION := cpp


LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/ $(LOCAL_PATH)/lib/include
LOCAL_MODULE    := SightCore-jni
LOCAL_SRC_FILES := SightDemo.cpp SightCore-jni.cpp
LOCAL_SHARED_LIBRARIES := SightAPI
LOCAL_LDLIBS = -llog 

include $(BUILD_SHARED_LIBRARY)

Também tenho a biblioteca compartilhada pré-criada no diretório ./lib com seu próprio arquivo Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := SightAPI
LOCAL_SRC_FILES := libSightAPI.so
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include

include $(PREBUILT_SHARED_LIBRARY)

O arquivo de origem SightCore-jni.cpp é a interface jni da biblioteca compartilhada e é carregado usando o comando

System.loadLibrary("SightCore-jni");  

Durante o processo ndk-build que recebo sem compilação ou ligação erros. Quando tento executar o aplicativo e acessar um dos métodos nativos, recebo o UnsatsfiedLinkError. Percebi que, se desabilitar as referências à SightAPI no meu código jni e colocar um erro de digitação na linha LOCAL_STATIC_LIBRARIES: = linha SightAPI, a compilação será bem-sucedida e não haverá UnsatisfiedLinkError.
Isso significa que o código jni que tenho é bom (na verdade, tenho certeza de que está ok ...)

Portanto, a observação é a seguinte:
Se eu compilar a biblioteca compartilhadacom o pré-construído biblioteca compartilhada, recebo um corrompido arquivo .so.

Se eu compilar o mesmo projeto ndk sem vincular ao pré-construído biblioteca compartilhada existesem problema carregando a biblioteca compartilhada do lado do jav

Por favor me ajude se puder.

Desde já, obrigado

Ita

questionAnswers(3)

yourAnswerToTheQuestion