解决QT编译Android程序不支持openssl问题
Posted DS小龙哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决QT编译Android程序不支持openssl问题相关的知识,希望对你有一定的参考价值。
1. 问题
使用QT编译android程序时,由于需要使用HTTPS的请求,打包的apk里需要附带openssl相关的库,不然无法使用https请求。
QT官方对openssl支持的说明,以及提供的解决办法:https://doc.qt.io/qt-5/android-openssl-support.html
Qt 安装包附带 OpenSSL 支持,但由于某些国家/地区的法律限制,OpenSSL 库不是该包的一部分。如果你的应用程序依赖于 OpenSSL,请考虑将 SSL 库与你的应用程序包 (APK) 一起打包,因为目标设备可能有也可能没有。
你可以使用QSslSocket::supportsSsl()静态函数来检查目标设备上的 SSL 支持。首先包括头文件:
#include < QSslSocket >
然后使用以下行检查是否支持 SSL:
qDebug () << "设备支持OpenSSL:
以上是关于解决QT编译Android程序不支持openssl问题的主要内容,如果未能解决你的问题,请参考以下文章
Qt5.9.0正式版动态编译 (VS2017) 支持WebEngine ICU OpenSSL
Qt 5.6.0 动态编译(VS2013 x86 target xp openssl icu webkit)
更换Qt QtEmbedded库的版本出现问题及解决(交叉编译OpenSSL)
Ubuntu+NDK编译openssl(为了Android上使用libcurl且支持HTTPS协议)