Spec-Zone.ru › Qt 5.14

Добавление поддержки OpenSSL для Android

Пакет Qt поставки включает поддержку OpenSSL, но библиотеки OpenSSL не входят в пакет из-за юридических ограничений в некоторых странах. Если ваше приложение зависит от OpenSSL, рассмотрите возможность добавления библиотек SSL в ваш пакет приложения (APK), так как целевое устройство может их иметь, а может и нет. Вы можете использовать статический метод QSslSocket::supportsSsl() для проверки поддержки SSL на целевом устройстве.

Следующие инструкции помогут вам скомпилировать и добавить библиотеки OpenSSL в APK:

  1. Загрузите исходные коды последней версии OpenSSL 1.1.x с http://www.openssl.org/source.
  2. Распакуйте исходные коды в папку и перейдите в эту папку с помощью консоли.

    Примечание: Если ваша платформа разработки — Windows, вам нужен msys с perl v5.14 или новее для компиляции OpenSSL.

  3. Добавьте android llvm toolchain в вашу переменную PATH:
    export PATH="<android_ndk_path>/toolchains/llvm/prebuilt/<host>/bin":$PATH
  4. Настройте исходные коды OpenSSL для компиляции под Android с помощью следующей команды:
    ./Configure shared android-<arch> -D__ANDROID_API__=21

    Примечание: Необходимо учитывать включение/отключение функций SSL в зависимости от юридических ограничений в регионе, где доступно ваше приложение. Подробности о настраиваемых функциях см. в параметрах конфигурации SSL.

  5. Запустите make SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs для компиляции libcrypto и libssl общих библиотек, которые не имеют версионирования, но имеют суффикс _1_1. Если вы хотите использовать другой суффикс, необходимо установить переменную среды ANDROID_OPENSSL_SUFFIX перед доступом к API Qt Network. Без суффикса Android 5 (API 21) загрузит системные библиотеки libcrypto.so и libssl.so, которые относятся к OpenSSL 1.0, а не к вашим библиотекам.

    Примечание: Android не загружает версиированные библиотеки.

  6. Откройте свой проект Qt с помощью Qt Creator и обновите настройки "Сборка APK для Android", чтобы добавить libcrypto и libssl в качестве дополнительных библиотек для вашего проекта.
  7. Запустите ваше приложение, чтобы увидеть его работу на устройстве.

Примечание: Здесь https://github.com/KDAB/android_openssl вы найдете скрипт, который может использоваться для компиляции openssl для всех android abis и также последние предварительно скомпилированные библиотеки.

Qt Creator собирает ваше приложение и создает пакет приложения (APK) с интегрированными в него библиотеками OpenSSL. После готовности APK используется adb для развертывания APK на выбранном целевом устройстве и запуска приложения.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/android-openssl-support.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API