基于Qt,Qml和C ++的应用程序移植到Android

时间:2017-05-16 16:59:39

标签: android c++ qt qml

我将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.qmlassets:/main.qml,但没有运气。

注意:我将main.qml放在assets文件夹中。我甚至不确定何时在打包时放入该文件。

寻找建议,我们如何在C ++代码中指定资产/资源路径。

2 个答案:

答案 0 :(得分:0)

// QQmlEngine* m_pQmlEngine;
m_pQmlEngine->setBaseUrl("qrc:/qml/");

答案 1 :(得分:0)

Qt Android帮助程序类复制/data/data/org.qtproject.example.test/qt-reserved-files/路径上的所有资产,但您需要确保资产信息应映射到res/values/libs.xml中有一个部分