基于 Qt android 的应用程序在一台特定设备上启动时崩溃。 "dlopen failed: libqtforandroid"

Qt based android application is crashing during startup on one specific device. "dlopen failed: libqtforandroid"

我的应用程序仅在一台特定设备上启动时崩溃:Huawei Tablet AGS2-W09。 Qt 5.12.3。

我有一个来自设备的 logcat 转储:

07-01 10:53:09.327  6135  6156 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library "/data/data/pl.domain.appname/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" >= file size: 0 >= 0
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at java.lang.Runtime.load0(Runtime.java:928)
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at java.lang.System.load(System.java:1624)
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at org.qtproject.qt5.android.QtNative.run(QtNative.java:183)
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at org.qtproject.qt5.android.QtThread.run(QtThread.java:87)
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at org.qtproject.qt5.android.QtThread.run(QtThread.java:61)
07-01 10:53:09.327  6135  6156 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:784)
07-01 10:53:09.330  1184  1922 W ActivityManager:   Force finishing activity pl.domain.appname/.AppActivity

接下来我该怎么做才能找到问题所在?

问题已解决。如果您 运行 遇到类似问题,那是因为您正试图 运行 在 64 位设备上运行 32 位应用程序。 Qt 还不支持 AAB,所以你需要分别编译 32 位(armeabi v7a)和 64 位(armeabi v8a)。