【问题标题】:QML device deploymentQML 设备部署
【发布时间】:2014-01-16 22:43:48
【问题描述】:

我已将项目设置为使用具有插槽通信的 C++ 运行 QML。现在我偶然发现了这条消息:

void QDeclarativeView::continueExecute()): 
    file:///data/data/org.qtproject.example.input/files/Input.qml: File not found 

我四处搜索并检查了similar problem,因此我遵循了该建议,将我的项目文件更改如下:

QT += qml quick sensors xml
QT += declarative
SOURCES += \
    main.cpp
OTHER_FILES += \
    Input.qml
HEADERS += \
    Input.h
RESOURCES += \
    Input.qrc

# Required for deployment (?) :
QML_FILES.source = qml
QML_FILES.target = .
DEPLOYMENTFOLDERS += QML_FILES
# Required for deployment too (?) :
include(qmlapplicationviewer/qmlapplicationviewer.pri)
qtcAddDeployment()

虽然将这个 hack 添加到项目文件似乎适用于 Symbian 和 Harmattan,但对于 Android,最后两行并不能解决问题,因为编译器会给出消息:

./input/qmlapplicationviewer/qmlapplicationviewer.pri:-1: error: No such file or directory
./input.pro:22: 'qtcAddDeployment' is not a recognized test function.

即使是 Qt5,我们是否应该担心 target,即使我们在定义项目时已经为 Android 设备设置了它?

那么,有人对如何将 QML 部署到 Android 设备有任何建议吗?也许一些等效的 hack 可以发挥与 Symbian 相同的魔力,但也适用于 Android?

【问题讨论】:

    标签: android c++ deployment qml


    【解决方案1】:

    尝试将您的 Android 目标从 API 19 降级到 17。显然 API 19 无法与 Qt 5 for Android 正常工作。

    使用 qtcAddDeployment 和 qmlapplicationviewer.pri 也可以解决您的问题。但在进入这个方向之前,您应该仔细阅读来自 Qt 博客Android Deployment in Qt 5.2 的文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2013-03-09
      • 2015-09-04
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多