C++ 无法使用ndk for android生成openssl的静态库

C++ 无法使用ndk for android生成openssl的静态库,c++,android-ndk,makefile,openssl,C++,Android Ndk,Makefile,Openssl,我已经在cpp中编写了一个模块,它使用openssl进行SSL通信。我决定在android应用程序中使用这个模块,将JNI层写在这个模块之上。现在主要的问题是我需要使用ndk构建的openssl“静态”库 我从这个链接获得了openssl包 如果我使用它来构建共享库,那么它非常有用,但是我想为静态库构建它。我对制作文件很陌生。有人能告诉我如何更改这个openssl包中的makefiles吗?我是从上面给定的链接获得这个包的,以获得静态库 首先,您的JNI可以链接到共享的OpenSSL库。在加载使

我已经在cpp中编写了一个模块,它使用openssl进行SSL通信。我决定在android应用程序中使用这个模块,将JNI层写在这个模块之上。现在主要的问题是我需要使用ndk构建的openssl“静态”库

我从这个链接获得了openssl包

如果我使用它来构建共享库,那么它非常有用,但是我想为静态库构建它。我对制作文件很陌生。有人能告诉我如何更改这个openssl包中的makefiles吗?我是从上面给定的链接获得这个包的,以获得静态库


首先,您的JNI可以链接到共享的OpenSSL库。在加载使用这些库的JNI库之前,只需要从Java代码中加载这些库

其次,OpenSSL库(共享对象)安装在任何Android上,因此您可能根本不需要构建它们。版本可能会有所不同,但在Android 4.01树中,该版本比eighthave git中的版本更高级

最后,如果NDK安装在
$(NDK\u ROOT)
目录中,则只需运行以下命令:

$(NDK_ROOT)/ndk_build APP_MODULES="ssl crypto" BUILD_SHARED_LIBRARY="$(NDK_ROOT)/build/core/build-static-library.mk"

(来自第八个git克隆的根目录)。。。自动地,你会发现静态库obj/local/armeabi/libcrypto.a和obj/local/armeabi/libssl.a

我如何用我们的jni层构建openssl,你能提供详细信息吗?