Spec-Zone.ru › Qt 5.13

Добавление поддержки 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 CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs для сборки libcrypto и libssl общих библиотек, которые не имеют версионирования.

    Примечание: 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.13/android-openssl-support.html

Spec-Zone.ru

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