2016-02-11 38 views
1

我開發了一個包含一些特殊類型的自定義QML模塊(我們稱之爲MyModule)。它用作其他應用程序項目的預編譯庫(即源代碼不可用,它通過import MyModule 1.0使用,設置必要的導入路徑等)。該模塊包含基於C++的QML類型以及自身導入QtQuick模塊(如QtQuick.Controls和QtQuick.Window)的QML文件。自定義QML模塊部署到Android:缺少QML依賴關係

當我嘗試部署和執行使用MyModule的到Android開發的應用程序,MyModule的的依賴性不被androiddeployqt/qmlimportscanner拿起並列入APK,這將導致信息,如:module "QtQuick.Controls" is not installed

有一種在APK中包含這些QML依賴關係的方式,而不必創建包含應用程序源目錄中所有導入的虛擬qml文件,以便qmlimportscanner可以提取它們?

回答

3

你可以嘗試添加depends關鍵字到qmldir文件:

宣佈本模塊依賴於另一個。

實施例:

depends MyOtherModule 1.0

此聲明是必要僅在情況下,當依賴關係隱藏的:例如,當用於一個模塊的C++代碼是用來加載QML(也許有條件),然後取決於在其他模塊上。在這種情況下,依賴聲明有必要將其他模塊包含在應用程序包中。

一些靈感,看看這個:

http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/qmldir

+0

真棒!它的工作,謝謝你! – Yves