【发布时间】:2017-05-16 16:59:39
【问题描述】:
我正在将基于 Qt(C++) 和 qml 的应用程序移植到 Android 平台。由于项目的性质,我不使用 Qt Creator。
我已经使用 ndk 编译了代码并为我的 C++ 组件生成了所有必需的 .so 文件。在 Android 工作室创建项目,包括 jiniLibs(*.so) 文件,alos,使用 Qt 提供的 Activity/Loader/Delegate 类并编写 Android 应用程序。应用程序加载“main.so”并启动应用程序。我可以看到告诉我它已加载的日志。我创建了QGuiApplication 对象,在创建QmlComponent 时,我试图将main.qml 传递到QmlComponent instance 内main.so,但我不知道如何指定main.qml 的路径?
我尝试了qrc:/main.qml、assets:/main.qml,但没有成功。
注意:我将main.qml 放在assets 文件夹中。我什至不确定在打包时何时放置该文件。
寻求建议,我们如何在 C++ 代码中指定资产/资源路径。
【问题讨论】:
-
阅读Qt Resource System上的文档。
-
Qt Android 助手类复制
/data/data/org.qtproject.example.test/qt-reserved-files/处的所有资产,但您需要确保资产信息应位于libs.xml中,其中包含<array name="bundled_in_assets">部分