diff options
author | Heikkinen Miikka <miikka.heikkinen@digia.com> | 2013-05-22 09:49:28 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-05-22 10:12:28 +0300 |
commit | abf0d5005e357dd2fe59ccf02412687f72e56cb5 (patch) | |
tree | 00d421bf283728f936693d280b2469cb027d342c /tests | |
parent | e2eb16a7c3b113365d1de6a9d5c04b7d31147432 (diff) |
Fix qml application deployment for android
Change-Id: I5a693f3ca7d6110505f8e6d276f53825e1a5961b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/tst_qml.cpp | 8 | ||||
-rw-r--r-- | tests/qmlchartaxis/main.cpp | 8 | ||||
-rw-r--r-- | tests/qmlchartproperties/main.cpp | 8 | ||||
-rw-r--r-- | tests/quick2chartproperties/main.cpp | 7 | ||||
-rw-r--r-- | tests/tests.pri | 20 |
5 files changed, 48 insertions, 3 deletions
diff --git a/tests/auto/qml/tst_qml.cpp b/tests/auto/qml/tst_qml.cpp index 841070c6..1ec19acf 100644 --- a/tests/auto/qml/tst_qml.cpp +++ b/tests/auto/qml/tst_qml.cpp @@ -20,6 +20,7 @@ #include <QtTest/QtTest> #include <QDeclarativeEngine> #include <QDeclarativeComponent> +#include <QDir> #include "tst_definitions.h" class tst_QML : public QObject @@ -126,7 +127,12 @@ void tst_QML::checkPlugin() { QFETCH(QString, source); QDeclarativeEngine engine; - engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports"))); +#ifdef Q_OS_ANDROID + engine.addImportPath(QString::fromLatin1("assets:/imports")); + engine.addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib"))); +#else + engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports"))); +#endif QDeclarativeComponent component(&engine); component.setData(source.toLatin1(), QUrl()); QVERIFY2(!component.isError(), qPrintable(componentErrors(&component))); diff --git a/tests/qmlchartaxis/main.cpp b/tests/qmlchartaxis/main.cpp index f298f305..dddac9a5 100644 --- a/tests/qmlchartaxis/main.cpp +++ b/tests/qmlchartaxis/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QDeclarativeEngine> +#include <QDir> #include "qmlapplicationviewer.h" Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create()); - viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports"))); +#ifdef Q_OS_ANDROID + viewer->addImportPath(QString::fromLatin1("assets:/imports")); + viewer->engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib"))); +#else + viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports"))); +#endif // // viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto); viewer->setSource(QUrl("qrc:/qml/qmlchartaxis/main.qml")); diff --git a/tests/qmlchartproperties/main.cpp b/tests/qmlchartproperties/main.cpp index bf99ea4b..50ad6a4f 100644 --- a/tests/qmlchartproperties/main.cpp +++ b/tests/qmlchartproperties/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QDeclarativeEngine> +#include <QDir> #include "qmlapplicationviewer.h" Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create()); - viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports"))); +#ifdef Q_OS_ANDROID + viewer->addImportPath(QString::fromLatin1("assets:/imports")); + viewer->engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib"))); +#else + viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports"))); +#endif // // viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto); viewer->setSource(QUrl("qrc:/qml/qmlchartproperties/loader.qml")); diff --git a/tests/quick2chartproperties/main.cpp b/tests/quick2chartproperties/main.cpp index 099d7a75..07a0b260 100644 --- a/tests/quick2chartproperties/main.cpp +++ b/tests/quick2chartproperties/main.cpp @@ -20,6 +20,8 @@ #include <QtWidgets/QApplication> #include <QtQuick/QQuickItem> +#include <QDir> +#include <QtQml/QQmlEngine> #include "qtquick2applicationviewer.h" int main(int argc, char *argv[]) @@ -27,7 +29,12 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); QtQuick2ApplicationViewer viewer; +#ifdef Q_OS_ANDROID + viewer.addImportPath(QString::fromLatin1("assets:/qml")); + viewer.engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib"))); +#else viewer.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("qml"))); +#endif viewer.setSource(QUrl("qrc:/qml/quick2chartproperties/main.qml")); viewer.showExpanded(); diff --git a/tests/tests.pri b/tests/tests.pri index 85e07054..662cdcab 100644 --- a/tests/tests.pri +++ b/tests/tests.pri @@ -12,3 +12,23 @@ RCC_DIR = $$CHART_BUILD_DIR/tests/$$TARGET # staticlib config causes problems when building executables staticlib: CONFIG-=staticlib + +android { + # Workaround to fix android deployment, which seems to always look for target in + # OUT_PWD instead of DESTDIR. + QMAKE_POST_LINK += $$QMAKE_COPY $$CHART_BUILD_BIN_DIR/lib$${TARGET}.so $$OUT_PWD/lib$${TARGET}.so + + contains(TARGET, qml.*) { + charts_qmldir.files = $$CHART_BUILD_QML_PLUGIN_DIR/qmldir + charts_qmldir.path = /assets/imports/QtCommercial/Chart + charts_qmlplugin.files = $$CHART_BUILD_QML_PLUGIN_DIR/libqtcommercialchartqml.so + charts_qmlplugin.path = /libs/$$ANDROID_TARGET_ARCH + INSTALLS += charts_qmldir charts_qmlplugin + } else:contains(TARGET, quick2.*) { + charts_qmldir.files = $$CHART_BUILD_QML2_PLUGIN_DIR/qmldir + charts_qmldir.path = /assets/qml/QtCommercial/Chart + charts_qmlplugin.files = $$CHART_BUILD_QML2_PLUGIN_DIR/libqtcommercialchartqml2.so + charts_qmlplugin.path = /libs/$$ANDROID_TARGET_ARCH + INSTALLS += charts_qmldir charts_qmlplugin + } +} |