这是一个奇怪的习惯,我不知道如何改正它。这是发生了什么。
- 已编写 Qt android 应用程序(主要使用 QML,复杂的计算部分已用 C++ 编写)并且一切都在一部手机/平板电脑上完美运行,但 不在别人身上。
- 它适用于 android 手机/平板电脑版本 5 (lollipop),但似乎不适用于 android 版本 6 (marshmallow)。
- 不起作用的是我从 Thingspeak 读取 JSON 数据的部分 使用 JavaScript 的 XMLHttpRequest。如上所述,它完美地工作 在一部手机/平板电脑上,但不在其他手机/平板电脑上。
- 关于无法正常工作的手机/平板电脑,我唯一的线索就是这个
qt.network.ssl: QSslSocket: 无法解析 CRYPTO_free
qt.network.ssl: QSslSocket: 无法解析 EVP_rc2_cbc
qt.network.ssl: QSslSocket: 无法解析 SSLv2_client_method
qt.network.ssl: QSslSocket: 无法解析 SSLv2_server_method
qt.network.ssl: QSslSocket: 无法解析 EC_get_builtin_curves
qt.network.ssl: QSslSocket: 无法解析 EC_curve_nist2nid
qt.network.ssl: QSslSocket: 无法调用未解析的函数 EC_get_builtin_curves
qt.network.ssl: QSslSocket: 无法调用未解析的函数 EC_get_builtin_curves
- 因此,读取 JSON 部分给出了“JSON.parse:解析错误”
- 据我所知,Qt 负责应用程序的所有基本模块和权限。所以我怀疑这是否是互联网许可,但某些手机/平板电脑怎么会工作得很好。那就是我 想知道。任何人都可以分享这方面的一些经验......
- 如有任何帮助,我们将不胜感激...
最佳答案
我可能找到了一点线索......
Android is moving away from OpenSSL to the BoringSSL library. If you’re using the Android NDK in your app, don't link against cryptographic libraries that are not a part of the NDK API, such as libcrypto.so and libssl.so. These libraries are not public APIs, and may change or break without notice across releases and devices. In addition, you may expose yourself to security vulnerabilities. Instead, modify your native code to call the Java cryptography APIs via JNI or to statically link against a cryptography library of your choice.
关于android - Qt Android App 无法通过 XMLHttpRequest 连接到互联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42476050/