Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt5.2 androiddeployqt openssl-library-versioning



  • Hi,

    I compiled openssl ( 1.0.1e ) as explained in http://qt-project.org/doc/qt-5/opensslsupport.html
    This produces symlinks called libssl.so and libcrypto.so which both point to libssl.so.1.0.0 and libcrypto.so.1.0.0

    So far everythings fine, but I cannot properly deploy them into the apk via ANDROID_EXTRA_LIBS

    If I add libcrypto.so and libssl.so, the symlinks will be resolved and the *.so.1.0.0 files will be copied and renamed to *.so - However, the program will crash as it expects to find *.so.1.0.0
    If I instead add *.so.1.0.0 to ANDROID_EXTRA_LIBS, it will return the error The file name of external library [...]/libcrypto.so.1.0.0 must begin with "lib" and end with the suffix ".so".

    What am I doing wrong ? Thanks



  • I ran across the same problem when trying to use libopus which I had compiled in the same way.

    The problem is that Android does not support versioned libraries and as you have discovered just renaming the file is not enough. I fixed it by using a hex editor to hack references to the right thing and this has worked but a bit nasty.

    I raised a bug report for this issue but have since realised it is Android's fault not Qt's. I have documented in a comment some of the possible workarounds which may be helpful for your problem.

    "Bug report":https://bugreports.qt-project.org/browse/QTCREATORBUG-11237#comment-227897


Log in to reply