Spec-Zone.ru › Qt 5.6

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

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

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

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

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

  3. Установите следующие переменные среды, чтобы указать ARM компиляторную цепочку инструментов и sysroot, которые вы хотите использовать:
    CC=<ANDROID_NDK_PATH>/toolchains/arm-linux-androideabi-<VER>/prebuilt/<NDK_HOST>/bin/arm-linux-androideabi-gcc
    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
  4. Настройте исходные коды OpenSSL для сборки под Android (ARMv5 или ARMv7) с помощью следующей команды:
    ./Configure shared android or android-armv7

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

  5. Отредактируйте файл Makefile, созданный командой Configure, чтобы избежать совпадений имён общих библиотек с номером версии. Android не загружает библиотеку с номером версии в имени файла .so.
    1. Откройте файл Makefile с помощью текстового редактора.
    2. Замените следующие две строки, которые появляются под целевыми задачами "link-shared" и "do_$(SHLIB_TARGET)":
      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
      LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \

      на

      LIBNAME=$$i \
    3. Сохраните изменения в Makefile и закройте его.
  6. Запустите make build_libs для сборки libcrypto и libssl общих библиотек.
  7. Откройте свой проект Qt с помощью Qt Creator и обновите настройки "Собрать APK для Android", чтобы добавить libcrypto и libssl как дополнительные библиотеки для вашего проекта.
  8. Запустите ваше приложение, чтобы посмотреть его работу на устройстве.

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/archives/qt-5.6/opensslsupport.html

Spec-Zone.ru

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