其他分享
首页 > 其他分享> > c – 在Android上编译OpenSSL

c – 在Android上编译OpenSSL

作者:互联网

我正在尝试让我的Cocos2D-X项目通过SSL连接到我的服务器,我让它在iOS上工作没有太多问题,但是在Android上我甚至无法让OpenSSL编译..我已经在Google上搜索了很多,但是所有帖子都不断重新引导我到HTTPS相关的帖子(这不是,我不是在这里以任何形式或形式使用HTTP,纯粹是OpenSSL),关于如何做的帖子它使用Java中的标准Android SDK或者根本没用的帖子.

有人可以告诉我如何编译这个游戏的Android版本并让它连接到我的服务器?

解决方法:

有一个问题接近你的.每个Android操作系统都有libssl和libcrypto库,它们是OpenSSL的一部分.但是他们没有包含在NDK中使用它们.因此,您可以通过从手机中复制* so文件来稍微修改您的NDK.

$adb pull /system/lib/libssl.so /myndk/platforms/android-14/arch-arm/usr/lib

$adb pull /system/lib/libcrypto.so /myndk/platforms/android-14/arch-arm/usr/lib

where / myndk是你的NDK的路径,android-14 – 你当前的平台

同时将* .h文件从openssl源复制到/ myndk / platforms / android-14 / arch-arm /usr/include文件夹.
还要在此文件夹中添加下一个文件 – openssl / opensslconf.h(您可以在Internet上找到它或从源openssl配置)
这些文件仅在编译时才需要.编译完成后,您的应用程序将从手机中获取库.

另外不要忘记在app_LDFLAGS部分的jni / Application.mk文件中添加-lssl -lcrypto选项

APP_LDFLAGS := -latomic -lssl -lcrypto

标签:cocos2d-x,c,ssl,android-ndk,openssl
来源: https://codeday.me/bug/20191003/1848807.html