繁体   English   中英

Qt for Android 和 ARCore 应用程序冲突

[英]Qt for Android and ARCore Application Clashes

我正在尝试使用 Qt 为 Android 创建 ARCore 应用程序。

我能够运行 ARCore 示例 (hello_ar_java,hello_ar_c) 和 Qt 示例 (jnimessenger)。 但是两者结合在一起,它就会崩溃。

我从Qt JNI Messenger Example开始。 我从build.gradle模板目录(~/Qt/5.15.0/android/src/android/templates/build.gradle)添加了 build.gradle。 然后我将implementation 'com.google.ar:core:1.18.0'添加到dependencies

dependencies {
    implementation 'com.google.ar:core:1.18.0'
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}

但它因这个错误而崩溃。

I le.jnimessenge: Late-enabling -Xcheck:jni
E le.jnimessenge: Unknown bits set in runtime_flags: 0x8000
W System  : ClassLoader referenced unknown path:
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libc++_shared.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5Core_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5AndroidExtras_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5Gui_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5Network_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5Qml_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5QmlModels_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5Quick_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5QmlWorkerScript_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5QuickTemplates2_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libQt5QuickControls2_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libplugins_platforms_qtforandroid_armeabi-v7a.so'
I Qt JAVA : Can't find '/data/app/org.qtproject.example.jnimessenger-aiGQbBP6wlwSUCHGO1oUDA==/lib/arm64/libplugins_bearer_qandroidbearer_armeabi-v7a.so'
W System.err: java.lang.Exception:
W System.err:   at org.qtproject.qt5.android.bindings.QtLoader.loadApplication(QtLoader.java:268)
W System.err:   at org.qtproject.qt5.android.bindings.QtLoader.startApp(QtLoader.java:505)
W System.err:   at org.qtproject.qt5.android.bindings.QtActivityLoader.onCreate(QtActivityLoader.java:166)
W System.err:   at org.qtproject.qt5.android.bindings.QtActivity.onCreateHook(QtActivity.java:266)
W System.err:   at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:273)
W System.err:   at android.app.Activity.performCreate(Activity.java:7825)
W System.err:   at android.app.Activity.performCreate(Activity.java:7814)
W System.err:   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
W System.err:   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
W System.err:   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
W System.err:   at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
W System.err:   at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
W System.err:   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
W System.err:   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
W System.err:   at android.os.Handler.dispatchMessage(Handler.java:107)
W System.err:   at android.os.Looper.loop(Looper.java:214)
W System.err:   at android.app.ActivityThread.main(ActivityThread.java:7356)
W System.err:   at java.lang.reflect.Method.invoke(Native Method)
W System.err:   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
W System.err:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I Adreno  : QUALCOMM build                   : 4a00b69, I4e7e888065
I Adreno  : Build Date                       : 04/09/19
I Adreno  : OpenGL ES Shader Compiler Version: EV031.26.06.00
I Adreno  : Local Branch                     :
I Adreno  : Remote Branch                    :
I Adreno  : Remote Branch                    :
I Adreno  : Reconstruct Branch               :
I Adreno  : Build Config                     : S P 8.0.6 AArch64
I Adreno  : PFP: 0x016ee183, ME: 0x00000000
W Gralloc3: mapper 3.x is not supported

我想知道为什么这种依赖会破坏最初工作的 Qt。(我是 Android 的初学者。)

我做错什么了吗? 有没有办法同时使用 Qt 和 ARCore?

  • Qt:5.15.0
  • QtCreator:4.12.0
  • AR核心:1.18.0
  • Android SDK:从 Android Studio 4.0.1 安装
  • NDK:21.3.6528147
  • MacOS Catalina:10.15.5
  • Android 设备:像素 3a Android 10

谢谢您的帮助!

我不明白逻辑,但我已经解决了问题。

我选择了 arm64-v8a。 (项目>构建步骤>ABIs)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM