Qt on Android 的 SSL 支持
由于 Android 7.0
修改了一些依赖库的连接信息,且 Qt 本身不提供一些依赖库,例如 ssl 的依赖库。所以需要自行编译 ssl 给 Qt on Android 使用。
参考如下官方文档进行编译:Adding OpenSSL Support for Android
编译成功后,就会有两个 so 文件:libcrypto.so
和 libssl.so
(如果嫌麻烦,可以点击这里下载成品)。然后将 so
文件找个目录安放好,在 pro
文件写入 so
文件的相对路径,参考如下:
contains(ANDROID_TARGET_ARCH,armeabi-v7a) {
ANDROID_EXTRA_LIBS = \
$$PWD/../lib/openssl/libcrypto.so \
$$PWD/../lib/openssl/libssl.so
}
[原创]改一个参数即可绕过 Android N 的私有 API 链接限制
QNetworkAccessManager crashes with SIGSEGV on Android 7
自 Android 6.0 起,正在从使用 OpenSSL 库转向使用 BoringSSL 库。如果您要在应用中使用 Android NDK,请勿链接到并非 NDK API 组成部分的加密库,如 libcrypto.so 和 libssl.so。参考Android5,6,7,8新特性
QWebSocket-for-Android-openssl库下载,注意,so 文件来源自互联网,请勿将不明的 so 文件应用于生产环境!