Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.14.1
-
Fedora 31
android NDK r20b
-
-
75d32a195a1dbba42756353ee1705b709bfab002 (qt/qtbase/dev) 634f633a8569712342113c83db1ffbd0e6449a3d (qt/qtbase/5.15)
-
2020wk36
Description
I updated my project to use Qt 5.14.1 from Qt 5.12.6 and I noticed its missing the openssl libraries for the armeabi-v7a APK.
The attached example project can reproduce this issue.
The pro file includes the libraries like this:
android{ equals(ANDROID_TARGET_ARCH, armeabi-v7a){ ANDROID_EXTRA_LIBS = $$PWD/armv7/libcrypto_1_1.so \ $$PWD/armv7/libssl_1_1.so } equals(ANDROID_TARGET_ARCH, arm64-v8a){ ANDROID_EXTRA_LIBS = $$PWD/arm64/libcrypto_1_1.so \ $$PWD/arm64/libssl_1_1.so } }
For the selected ABI armeabi-v7a in QtCreator the resulting deployment-settings.json looks like this:
{ ... , "architectures": {"armeabi-v7a":"arm-linux-androideabi"}, , "android-extra-libs": "~/arm64/libcrypto_1_1.so,~/arm64/libssl_1_1.so", ... }
For the selected ABI arm64-v8a deployment-settings.json looks like this:
{ ... , "architectures": {"arm64-v8a":"aarch64-linux-android"} , "android-extra-libs": "~/arm64/libcrypto_1_1.so,~/arm64/libssl_1_1.so" ... }
"android-extra-libs" is both times the same.
If you also build for the two different ABI´s the armeabi-v7a APK is missing the libs because they are discarded because they are the wrong architecture.
The arm64-v8a APK includes them.
I am not sure if this change in behaviour is intentional.
A possible workaround is adding the libraries for all architectures at once to "ANDROID_EXTRA_LIBS".
Attachments
Issue Links
- relates to
-
QTBUG-83985 ABI mismatch between armeabi-v7a and arm64-v8a makes deployment with ANDROID_EXTRA_LIBS impossible for all ABI
- Closed
- mentioned in
-
Page Loading...