org.qtproject.qt5.android.QtNative.handleOrientationChanged 中的 java.lang.UnsatisfiedLinkError

Posted

技术标签:

【中文标题】org.qtproject.qt5.android.QtNative.handleOrientationChanged 中的 java.lang.UnsatisfiedLinkError【英文标题】:java.lang.UnsatisfiedLinkError in org.qtproject.qt5.android.QtNative.handleOrientationChanged 【发布时间】:2021-04-10 15:54:39 【问题描述】:

我使用 QT 5.15.2 构建了我的 android 应用,并在 Google Play 上发布了它并开始得到它:

java.lang.UnsatisfiedLinkError: 
  at org.qtproject.qt5.android.QtNative.handleOrientationChanged (Native Method)
  at org.qtproject.qt5.android.QtActivityDelegate$4.onDisplayChanged (QtActivityDelegate.java:676)
  at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.handleMessage (DisplayManagerGlobal.java:1426)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:7948)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075)

这在 QT 5.15.0 之前也很少发生。

这是什么原因造成的?

我不知道这是否与崩溃有关,但在清单中我有

android:screenOrientation="portrait"

EDIT1:它主要发生在 Android 10 上。

找到一个类似的post。

【问题讨论】:

我确实在 Google Play 上看到了同样的崩溃 - 您找到任何解决此崩溃的方法了吗? @Michael 解决方案是上传AP​​K而不是ABB,见我的帖子developernote.com/2020/02/… 非常感谢!有道理,因为我最近才开始使用 AAB。 【参考方案1】:

您是否真的检查过您的 APK 是否包含上述符号?

我认为它们应该位于 qtforandroid.so 中,当与应用程序一起部署时,实际上应该命名为 libplugins_platforms_qtforandroid_arm64-v8a.so 或 libplugins_platforms_qtforandroid_armeabi-v7a.so。

如果您在项目中使用 Gradle 或其他构建系统,符号可能会被剥离。

【讨论】:

以上是关于org.qtproject.qt5.android.QtNative.handleOrientationChanged 中的 java.lang.UnsatisfiedLinkError的主要内容,如果未能解决你的问题,请参考以下文章