部署到Android会导致在添加QtQuick控件后找不到文件

导入QtQuick.Controls 1.2并使用StackedWidget组件后,我现在在部署到 Android时遇到错误,如下所示. Android构建目录中没有丢失文件AnimationDrawable.qml,因此我不明白为什么它没有与APK一起打包.

当我删除导入的QtQuick.Controls并用其他东西替换StackView时,它会部署正常.

我的Qt版本是5.4.2.

我尝试用Qt 5.3.2部署它,它按预期工作.

E/Qt      (12767): Can't create main activity
E/Qt      (12767): java.io.FileNotFoundException: --Added-by-androiddeployqt--/qml/QtQuick/Controls/Styles/Android/drawables/AnimationDrawable.qml
E/Qt      (12767): 	at android.content.res.AssetManager.openAsset(Native Method)
E/Qt      (12767): 	at android.content.res.AssetManager.open(AssetManager.java:313)
E/Qt      (12767): 	at android.content.res.AssetManager.open(AssetManager.java:287)
E/Qt      (12767): 	at org.qtproject.qt5.android.bindings.QtActivity.copyAsset(QtActivity.java:394)
E/Qt      (12767): 	at org.qtproject.qt5.android.bindings.QtActivity.extractBundledpluginsAndImports(QtActivity.java:503)
E/Qt      (12767): 	at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:582)
E/Qt      (12767): 	at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895)
E/Qt      (12767): 	at android.app.Activity.performCreate(Activity.java:5990)
E/Qt      (12767): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/Qt      (12767): 	at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2278)
E/Qt      (12767): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
E/Qt      (12767): 	at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/Qt      (12767): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
E/Qt      (12767): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/Qt      (12767): 	at android.os.Looper.loop(Looper.java:135)
E/Qt      (12767): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/Qt      (12767): 	at java.lang.reflect.Method.invoke(Native Method)
E/Qt      (12767): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/Qt      (12767): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/Qt      (12767): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

解决方法

部署应用程序时,androiddeployqt将复制一堆文件,当源或目标路径长度超过260个字符时,这些文件在Windows上非常失败(是的,那是“ known feature”).保持Qt安装和项目目录尽可能有助于减少路径长度并解决问题.这基本上就是它!

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...