diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc index 8ae4c5e8e76c9647af851d5bb4a4a83479be0311..d3f9801d9ebc1ca5dddc4aa739fac8f4bb9ce056 100644 --- a/doc/src/external-resources.qdoc +++ b/doc/src/external-resources.qdoc @@ -194,3 +194,7 @@ \title BlackBerry 10 application lifecycle */ +/*! + \externalpage http://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options + \title OpenSSL Configure Options +*/ diff --git a/doc/src/platforms/android.qdoc b/doc/src/platforms/android.qdoc index 4dd63a0c25dafba3c39b12d2d064740fb90f15d3..923f33d5b0612fb9ad2ee05c4623480baa4d15b5 100644 --- a/doc/src/platforms/android.qdoc +++ b/doc/src/platforms/android.qdoc @@ -276,22 +276,26 @@ AVDs found. /*! \page opensslsupport.html \title Adding OpenSSL Support -\brief Provides instructions to bundle OpenSSL libraries with your Qt application for Android. +\brief Provides instructions to package OpenSSL libraries with your Qt application for Android. -The Qt installation package does not ship the OpenSSL libraries due to legal -restrictions in some countries. If you want to use OpenSSL in your application, -you must build the OpenSSL libraries for Android and bundle them with your -Application Package (APK) to ensure that your application behaves as expected -on the device. +The Qt installation package comes with OpenSSL support but the OpenSSL libraries +are not part of the package due to legal restrictions in some countries. If your +application depends on OpenSSL, consider packaging the SSL libraries with your +Application Package (APK) as the target device may or may not have them. You +can use the \l{QSslSocket::supportsSsl()} static function to check for SSL +support on the target. -\note If your development platform is Windows, you need \c msys with -\c perl v5.14 or later to build OpenSSL. - -The following instructions guide you to add OpenSSL support to your application: +The following instructions guide you to build and add the OpenSSL libraries to +the APK: \list 1 - \li Download the latest OpenSSL sources from \l{ http://www.openssl.org/source}. + \li Download the latest OpenSSL sources from + \l{http://www.openssl.org/source}. + \li Extract the sources to a folder and navigate to that folder using - the CLI (\c msys shell on Windows). + the CLI. + \note If your development platform is Windows, you need \c msys with + \c perl v5.14 or later to build OpenSSL. + \li Set the following environment variables to point to the ARM compiler toolchain and sysroot you want to use: \code @@ -299,6 +303,7 @@ The following instructions guide you to add OpenSSL support to your application: AR=<ANDROID_NDK_PATH>/toolchains/arm-linux-androideabi-<VER>/prebuilt/<NDK_HOST>/bin/arm-linux-androideabi-ar ANDROID_DEV=<ANDROID_NDK_PATH>/platforms/android-9/arch-arm/usr \endcode + \li Configure the OpenSSL sources to build for Android (ARMv5 or ARMv7) using the following command: @@ -306,19 +311,24 @@ The following instructions guide you to add OpenSSL support to your application: ./Configure shared android or android-armv7 \endcode - \note You can also configure it for \e mips or \e x86 architectures. + \note You must consider enabling/disabling the SSL featurs based on the + legal restrictions in the region where your application is available. + See the \l{SSL Configure Options}{SSL configure options} for details about + the configurable features. + \li Run \c{make build_libs} to build the \c libcrypto and \c libssl shared libraries. + \li Open your Qt project using Qt Creator and update the "Deployment Configuration" under run settings to add \e libcrypto and \e libssl as additional libraries required for your project. + \li Run your application to see it running on the device. \endlist Qt Creator builds your application and creates an application package (APK) -with the OpenSSL libraries bundled in it. Once the APK is ready, Qt Creator -prompts you to choose the device to install the APK, and then you should -see your application running on the device you selected. +with the OpenSSL libraries bundled in it. Once the APK is ready, it uses adb to +deploy the APK on the target you chose and launch the application. */