-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.9.3, 6.10.0
Consider a Qt Multimedia project (any demo/example will do). Add this to CMakeLists.txt then build:
set_target_properties(<target> PROPERTIES QT_ANDROID_ABIS "arm64-v8a;armeabi-v7a")
In build directory, there are going to be 2 subdirs under "android-build-<target>\libs", namely 2 ABIs. Now, the kit that I use to build is arm64-v8a, and everything is good there. But in armeabi-v7a dir, check, for example, "libavcodec.so":
INTRA+luchen@AAD-PF4WPQPG MINGW64 /c/dev/AndroidAabTest/build/Android_Qt_6_9_3_Clang_arm64_v8a-Release/android-build-appAndroidAabTest/libs/armeabi-v7a
$ file ./libavcodec.so
./libavcodec.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for Android 24, built by NDK r27c (12479018), not stripped
It is 64bit lib being deployed to v7a build. It is also packed into apk/aab later and causes crash (one can unzip apk/aab to confirm). libavcodec is just an example. Other libs like "libavformat", etc., are in wrong arch too.
Libs are of correct arch if app is built by 6.8.4.
Update: "libc++_shared.so" is of 32bit so it is correct. Maybe it is a Multimedia problem than a generic bug?
- duplicates
-
QTBUG-140509 Main ABI libs are littered by secondary ABI libs
-
- Closed
-
- relates to
-
QTBUG-141164 Unnecessary libs are deployed
-
- Closed
-