summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bennett <nicholas.bennett@qt.io>2023-05-03 15:01:00 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-05-05 11:16:38 +0000
commit07fff9c9084ae7f6f7b199877b2608825a930519 (patch)
treeeff1d2c1dc40a4d0592a1c5d3b81aa5094a7a2b1
parente28c2b0c540aa3ef8fe1b895984af7a06c2a3e2b (diff)
downloadqtdoc-07fff9c9084ae7f6f7b199877b2608825a930519.tar.gz
Docs: Update Versions on OpenSSL Support for Android Documentation
Qt 6.5 and beyond will use OpenSSL 3, the documentation should reflect this. Also removed, if unhelpful, or updated NDK and API levels as part of this change. Fixes: QTBUG-111586 Change-Id: I91e7598e9a48cd5b5e2f93f7763edccea71deb8e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 5a67a065d6edc9cbb1a99918384c0dace5e6b3ae) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--doc/src/platforms/android/android-openssl-support.qdoc32
1 files changed, 18 insertions, 14 deletions
diff --git a/doc/src/platforms/android/android-openssl-support.qdoc b/doc/src/platforms/android/android-openssl-support.qdoc
index 96b5124b..4b900c4a 100644
--- a/doc/src/platforms/android/android-openssl-support.qdoc
+++ b/doc/src/platforms/android/android-openssl-support.qdoc
@@ -38,14 +38,14 @@ to \l {Using OpenSSL Libraries with Qt for Android}.
The following instructions guide you to build the OpenSSL libraries manually:
\list 1
- \li Download \l{OpenSSL Source}{OpenSSL} 1.1.x sources.
+ \li Download \l{OpenSSL Source}{OpenSSL} sources.
\li Extract the sources to a folder and navigate to that folder using
the CLI.
\note If your development platform is Windows, you need \c msys with
\c perl v5.14 or later to build OpenSSL.
- \li Add the Android LLVM toolchain (NDK r20b or r21) to your path:
+ \li Add the Android LLVM toolchain to your path:
\badcode
export PATH="<android_ndk_path>/toolchains/llvm/prebuilt/<host>/bin":$PATH
@@ -55,10 +55,15 @@ The following instructions guide you to build the OpenSSL libraries manually:
the following command:
\badcode
- ./Configure shared android-<arch> -D__ANDROID_API__=21
+ ./Configure shared android-<arch> -D__ANDROID_API__=XX
\endcode
- Where <arch> can take a value of: \c arm, \c arm64, \c x86, \c x86_64.
+ Where:
+ \list
+ \li <arch> can take a value of: \c arm, \c arm64, \c x86, \c x86_64.
+ \li \c XX is a two-digit number equal to the minimum API level for
+ this Qt version: see \l {Supported Configurations}{Qt for Android support}.
+ \endlist
\note You must consider enabling or disabling the SSL features based on
the legal restrictions in the region where your application is available.
@@ -66,20 +71,19 @@ The following instructions guide you to build the OpenSSL libraries manually:
\l{OpenSSL Configure Options}.
\li To build \c libcrypto and \c libssl shared libraries that are not versioned,
- but with an \e _1_1 suffix, run:
+ but with an \e _3 suffix, run:
\code
- make -j$(nproc) SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs
+ make -j$(nproc) SHLIB_VERSION_NUMBER= SHLIB_EXT=_3.so build_libs
\endcode
- Without a suffix, Android 5 (API 21) will load the system libraries
- \e {libcrypto.so} and \e {libssl.so}, which are OpenSSL 1.0, rather than
- your libraries.
-
If you want to use a different suffix, you must change \c SHLIB_EXT in
the previous command, and set the \c ANDROID_OPENSSL_SUFFIX environment
variable before you access the Qt Network API.
+ \note Without a suffix, Android loads the system libraries \c {libcrypto.so} and
+ \c {libssl.so}. These may be different versions from your libraries or from what Qt expects.
+
\badcode
make -j$(nproc) SHLIB_VERSION_NUMBER= SHLIB_EXT=<custom_suffix>.so build_libs
\endcode
@@ -123,16 +127,16 @@ the following step to include those libraries in your project:
\badcode
ANDROID_EXTRA_LIBS += \
- <path_to_libs_dir>/libcrypto_1_1.so \
- <path_to_libs_dir>/libssl_1_1.so
+ <path_to_libs_dir>/libcrypto_3.so \
+ <path_to_libs_dir>/libssl_3.so
\endcode
For CMake:
\badcode
set_property(TARGET <target name> PROPERTY QT_ANDROID_EXTRA_LIBS
- <path_to_libs_dir>/libcrypto_1_1.so
- <path_to_libs_dir>/libssl_1_1.so)
+ <path_to_libs_dir>/libcrypto_3.so
+ <path_to_libs_dir>/libssl_3.so)
\endcode
\note When targeting multiple architectures, include OpenSSL libraries