用于 Android 错误的 Qt QML
Posted
技术标签:
【中文标题】用于 Android 错误的 Qt QML【英文标题】:Qt QML for Android bugs 【发布时间】:2019-12-24 19:37:55 【问题描述】:伙计们,我正在使用 Qt 5.14 编写即时消息应用程序,并且正在尝试将其部署到 Android 设备上
我已经安装了这些:
OpenJDK 8 (amd64) NDK r20b Qt Creator 4.11.0 Qt 5.14(适用于 android ARM64-v8a 设备)我可以正确构建应用程序,但是当我从手机运行它时,只有一个白屏
从 Qt Creator 我可以看到这个应用程序输出
I nixsoftware.as: Late-enabling -Xcheck:jni
I Perf : Connecting to perf service.
E nixsoftware.as: Invalid ID 0x00000000.
E Qt : Can't create main activity
E Qt : android.content.res.Resources$NotFoundException: String array resource ID #0x0
E Qt : at android.content.res.Resources.getStringArray(Resources.java:597)
E Qt : at android.content.res.MiuiResources.getStringArray(MiuiResources.java:160)
E Qt : at org.qtproject.qt5.android.bindings.QtLoader.startApp(QtLoader.java:423)
E Qt : at org.qtproject.qt5.android.bindings.QtActivityLoader.onCreate(QtActivityLoader.java:183)
E Qt : at org.qtproject.qt5.android.bindings.QtActivity.onCreateHook(QtActivity.java:266)
E Qt : at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:273)
E Qt : at android.app.Activity.performCreate(Activity.java:7224)
E Qt : at android.app.Activity.performCreate(Activity.java:7213)
E Qt : at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
E Qt : at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926)
E Qt : at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)
E Qt : at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
E Qt : at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E Qt : at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E Qt : at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
E Qt : at android.os.Handler.dispatchMessage(Handler.java:106)
E Qt : at android.os.Looper.loop(Looper.java:201)
E Qt : at android.app.ActivityThread.main(ActivityThread.java:6810)
E Qt : at java.lang.reflect.Method.invoke(Native Method)
E Qt : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
E Qt : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
I Adreno : QUALCOMM build : cf57c9c, I1cb5c4d1cc
I Adreno : Build Date : 09/23/18
I Adreno : OpenGL ES Shader Compiler Version: EV031.25.03.01
I Adreno : Local Branch :
I Adreno : Remote Branch :
I Adreno : Remote Branch :
I Adreno : Reconstruct Branch :
I Adreno : Build Config : S L 6.0.7 AArch32
I Adreno : PFP: 0x005ff112, ME: 0x005ff066
I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
I OpenGLRenderer: Initialized EGL, version 1.4
D OpenGLRenderer: Swap behavior 2
请帮忙
我可以给你更多信息
【问题讨论】:
【参考方案1】:升级到 Qt 5.14 后,我注意到了类似的行为。搜索 Qt 错误报告将我带到QTBUG-80266。正如 cmets 中所建议的,我重新创建了 AndroidManifest.xml 并添加了我的本地更改,我的应用程序现在可以执行了。 希望对你有帮助。
【讨论】:
以上是关于用于 Android 错误的 Qt QML的主要内容,如果未能解决你的问题,请参考以下文章
Qt for Android 错误:目标 id 'android--1' 无效