Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. How to create openssl library for Android?
Forum Updated to NodeBB v4.3 + New Features

How to create openssl library for Android?

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
14 Posts 6 Posters 5.6k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #4

    Ok... Then did you try running a dummy application ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • L Offline
      L Offline
      lqsa
      wrote on last edited by
      #5

      I've created a dummy app and included the libssl.so and libcrypto.so libraries. The APK is generated correctly.

      The dummy application crashes on QSslConfiguration:

      int main(int argc, char *argv[])
      {
          QNetworkAccessManager *_nam;
          QNetworkSession *_ns;
          QSslConfiguration _sslConfiguration;
          QNetworkProxyFactory::setUseSystemConfiguration(true);
      ...
      
      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #6

        That's an invalid dummy application, you are missing a QApplication object. The crash you have here might not be related to your original problem.

        By the way, which version of OpenSSL are you using ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        L 1 Reply Last reply
        0
        • L Offline
          L Offline
          lqsa
          wrote on last edited by
          #7

          New code:

          int main(int argc, char *argv[])
          {
              QGuiApplication app(argc, argv);
          
              QQmlApplicationEngine engine;
          
              QNetworkAccessManager *_nam;
              QNetworkSession *_ns;
              QSslConfiguration _sslConfiguration;
              QNetworkProxyFactory::setUseSystemConfiguration(true);
          

          It crash at startup. Really the previous code also crash at startup.

          I've tried with the latest version, 1.0.2k and 0.9.8za

          1 Reply Last reply
          0
          • G Offline
            G Offline
            Geraud
            wrote on last edited by
            #8

            I had the same issue, I just built the OpenSSL library for Android, and it is embedded in my APK. As a result, Qt is able to use it properly. But clearly we need a longer term solution there. (aka using Google's native SSL)

            1 Reply Last reply
            0
            • SGaistS SGaist

              That's an invalid dummy application, you are missing a QApplication object. The crash you have here might not be related to your original problem.

              By the way, which version of OpenSSL are you using ?

              L Offline
              L Offline
              lqsa
              wrote on last edited by lqsa
              #9

              @SGaist I think that I'm not compiling correctly.

              My environment is QT 5.7 and Windows 10 Pro. I've downloaded the last NDK, 13b, last JDK 1.8_102 and last SDK (installed from the last version of Android Studio, 2.1), Like all the documentation steps for building the library are in linux, I've installed the ubuntu bash provided by Windows 10, and do these steps:

              • I've download and installed the NDK on the ubuntu bash (the same that I've on Windows).
              • I've followed the steps on the Qt documentation: <VER> parameter with 4.9, <NDK_HOST> with linux-x86_64, <ANDROID_PLATFORM> with android-16

              What value must be ANDROID_PLATFORM?

              After that, it generates the .so libraries.

              On the pro file, I've put:

              contains(ANDROID_TARGET_ARCH,armeabi-v7a) {
                  ANDROID_EXTRA_LIBS = \
                      $${SSL_LIBS_PATH}/armeabi-v7a/libssl.so \
                      $${SSL_LIBS_PATH}/armeabi-v7a/libcrypto.so
              }
              

              When the APK is generated, the libraries are correctly inside the lib/armeabi-v7a directory.

              Could be the problem the ANDROID_PLATFORM parameter? The compilation on linux?

              I've tried anothers like: [http://stackoverflow.com/questions/11929773/compiling-the-latest-openssl-for-android](link url) but always the same. The libraries are generated, but when I put it on my project, the app crashes.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #10

                The 13 series has currently a bug. Download the r10e version.

                More info there

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  lqsa
                  wrote on last edited by
                  #11

                  I've downloaded the 13 because before I had the r10e and occurs the same, so, I've tried with the latest.

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    AlGrenadine
                    wrote on last edited by
                    #12

                    I've got a crash on Android 7 only when posting a QNetworkRequest... It's an http address not https but i've got warnings it doesn't find ssl functions... So adding openssl library in the apk should fix it ?

                    jsulmJ 1 Reply Last reply
                    0
                    • A AlGrenadine

                      I've got a crash on Android 7 only when posting a QNetworkRequest... It's an http address not https but i've got warnings it doesn't find ssl functions... So adding openssl library in the apk should fix it ?

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #13

                      @AlGrenadine If your app does not access HTTPS then you can just ignore the SSL warnings.

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • GTDevG Offline
                        GTDevG Offline
                        GTDev
                        wrote on last edited by
                        #14

                        If you want to avoid having to manually build and provide the SSL libraries for Android, V-Play Engine comes with already bundled SSL libs since version 2.10.0.

                        Best,
                        GT

                        Senior Developer at Felgo - https://felgo.com/qt

                        Develop mobile Apps for iOS & Android with Qt
                        Felgo is an official Qt Technology Partner

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved