OpenSSL usando los problemas NDK de Android

Tengo la siguiente situación, estoy portando una parte de una aplicación utilizando OpenSSL para el cifrado AES, tengo todo compilado, pero el enlazador falla. La situación es la siguiente: 1. Escribí un contenedor JNI que simplemente hace:

<code>private native String cipherString(String plainData, int datasize, String password, int passSize);
private native String decipherString(String cipheredData, int datasize, String password, int passSize);
</code>

A continuación, tengo un archivo c ++ al que llamo que tiene la sintaxis JNI adecuada que traduce jstring a char * y todas las demás transformaciones necesarias, y realiza una llamada a otro archivo cpp que en realidad importa los encabezados openssl (presente y contabilizado) y llama a métodos openssl Para cifrar y descifrar.

Así que cuando llamo a ndk-build, compila todos los pulgares, así el compilador los compila correctamente. A continuación, necesitaba portear openssl para Android, y utilicé estoOpenSSL para Android que funciona como un char con un simple ndk-build (en la raíz del proyecto, por supuesto) y construye el libssl.so y el libcrypto.so

Así que necesito conectar los dos ... Me resulta difícil conectar los scripts de compilación, de modo que ndk-build compile y vincule todo (apreciaría un proyecto de ejemplo simple si alguien tiene tiempo para ello)

Así que copié los archivos compilados libssl y libcrypto .so en jni / includes / prebuilt y quiero incluirlos en el proyecto para que el enlazador pueda finalmente crear la lib que usaré al final.

Tengo el siguiente archivo Android.mk

<code>LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/includes/build/common.mk
include $(LOCAL_PATH)/includes/build/common_includes.mk
APP_STL := gnustl_static

LOCAL_MODULE    := packer
LOCAL_SRC_FILES := modules/cipher/wrapper.cpp \
                    ... #rest of the cpp code

LOCAL_C_INCLUDES += $(LOCAL_PATH)/includes/openssl 
LOCAL_SHARED_LIBRARIES := $(LOCAL_PATH)/includes/precompiled/libssl.so \
            $(LOCAL_PATH)/includes/precompiled/libcrypto.so 
LOCAL_SHARED_MODULES := sslx cryptox
include $(BUILD_SHARED_LIBRARY)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sslx
LOCAL_SRC_FILES := $(LOCAL_PATH)/includes/precompiled/libssh.so
include $(PREBUILT_SHARED_LIBRARY)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cryptox
LOCAL_SRC_FILES := $(LOCAL_PATH)/includes/precompiled/libssh.so
include $(PREBUILT_SHARED_LIBRARY)
</code>

Y cuando llamo a ndk-build me decepciona.

<code>sslx: LOCAL_SRC_FILES points to a missing file. Check that /home/user/Development/Tools/sdk/android/ndk/build/core//home/user/Development/Tools/sdk/android/ndk/build/core/includes/precompiled/libssh.so exists  or that its path is correct. Aborting    .  Stop.
</code>

Como ya puede adivinar, la ruta está totalmente equivocada, y lo que me confunde es que $ {LOCAL_PATH} devuelve la ruta correcta para el primer lote de inclusiones y una completamente incorrecta para los archivos .so ... ¡Cualquier ayuda sería realmente apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta