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 /demos | |
parent | e2eb16a7c3b113365d1de6a9d5c04b7d31147432 (diff) |
Fix qml application deployment for android
Change-Id: I5a693f3ca7d6110505f8e6d276f53825e1a5961b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'demos')
-rw-r--r-- | demos/demos.pri | 20 | ||||
-rw-r--r-- | demos/qmlaxes/main.cpp | 9 | ||||
-rw-r--r-- | demos/qmlchart/main.cpp | 8 | ||||
-rw-r--r-- | demos/qmlcustomizations/main.cpp | 8 | ||||
-rw-r--r-- | demos/qmlcustomlegend/main.cpp | 8 | ||||
-rw-r--r-- | demos/qmlcustommodel/main.cpp | 8 | ||||
-rw-r--r-- | demos/qmlf1legends/main.cpp | 10 | ||||
-rw-r--r-- | demos/qmloscilloscope/main.cpp | 9 | ||||
-rw-r--r-- | demos/qmlpolarchart/main.cpp | 8 | ||||
-rw-r--r-- | demos/qmlweather/main.cpp | 9 | ||||
-rw-r--r-- | demos/quick2chart/main.cpp | 7 | ||||
-rw-r--r-- | demos/quick2oscilloscope/main.cpp | 7 |
12 files changed, 100 insertions, 11 deletions
diff --git a/demos/demos.pri b/demos/demos.pri index 55935e86..b6955bab 100644 --- a/demos/demos.pri +++ b/demos/demos.pri @@ -14,3 +14,23 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # 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 + } +} diff --git a/demos/qmlaxes/main.cpp b/demos/qmlaxes/main.cpp index 05138180..30b93a5a 100644 --- a/demos/qmlaxes/main.cpp +++ b/demos/qmlaxes/main.cpp @@ -20,14 +20,19 @@ #include <QApplication> #include <QtDeclarative/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/qmlaxes/loader.qml")); viewer->setRenderHint(QPainter::Antialiasing, true); diff --git a/demos/qmlchart/main.cpp b/demos/qmlchart/main.cpp index 1d8d0194..2d58ad49 100644 --- a/demos/qmlchart/main.cpp +++ b/demos/qmlchart/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QtDeclarative/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/qmlchart/loader.qml")); diff --git a/demos/qmlcustomizations/main.cpp b/demos/qmlcustomizations/main.cpp index 57c66de5..5e3fd34b 100644 --- a/demos/qmlcustomizations/main.cpp +++ b/demos/qmlcustomizations/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QtDeclarative/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/qmlcustomizations/loader.qml")); diff --git a/demos/qmlcustomlegend/main.cpp b/demos/qmlcustomlegend/main.cpp index 16096354..85b396b7 100644 --- a/demos/qmlcustomlegend/main.cpp +++ b/demos/qmlcustomlegend/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QtDeclarative/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/qmlcustomlegend/loader.qml")); diff --git a/demos/qmlcustommodel/main.cpp b/demos/qmlcustommodel/main.cpp index 6f2ef206..51997a55 100644 --- a/demos/qmlcustommodel/main.cpp +++ b/demos/qmlcustommodel/main.cpp @@ -22,6 +22,7 @@ #include <QtDeclarative> #include <QtDeclarative/QDeclarativeEngine> #include <QAbstractItemModel> +#include <QDir> #include "declarativemodel.h" #include "customtablemodel.h" #include "qmlapplicationviewer.h" @@ -32,7 +33,12 @@ 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 // @uri QmlCustomModel qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel", diff --git a/demos/qmlf1legends/main.cpp b/demos/qmlf1legends/main.cpp index ca291133..44269f53 100644 --- a/demos/qmlf1legends/main.cpp +++ b/demos/qmlf1legends/main.cpp @@ -19,8 +19,9 @@ ****************************************************************************/ #include <QApplication> -//#include <QDeclarativeContext> +#include <QtDeclarative/QDeclarativeEngine> #include <QDebug> +#include <QDir> #include "qmlapplicationviewer.h" Q_DECL_EXPORT int main(int argc, char *argv[]) @@ -28,7 +29,12 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) QScopedPointer<QApplication> app(createApplication(argc, argv)); QmlApplicationViewer viewer; - 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/qmlf1legends/main.qml")); viewer.setRenderHint(QPainter::Antialiasing, true); diff --git a/demos/qmloscilloscope/main.cpp b/demos/qmloscilloscope/main.cpp index 62b24725..2ee7084f 100644 --- a/demos/qmloscilloscope/main.cpp +++ b/demos/qmloscilloscope/main.cpp @@ -20,6 +20,8 @@ #include <QApplication> #include <QtDeclarative/QDeclarativeContext> +#include <QtDeclarative/QDeclarativeEngine> +#include <QDir> #include "qmlapplicationviewer.h" #include "datasource.h" @@ -27,7 +29,12 @@ 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 DataSource dataSource(viewer.data()); viewer->rootContext()->setContextProperty("dataSource", &dataSource); diff --git a/demos/qmlpolarchart/main.cpp b/demos/qmlpolarchart/main.cpp index 83eefcbd..1d546319 100644 --- a/demos/qmlpolarchart/main.cpp +++ b/demos/qmlpolarchart/main.cpp @@ -20,13 +20,19 @@ #include <QApplication> #include <QtDeclarative/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/qmlpolarchart/loader.qml")); diff --git a/demos/qmlweather/main.cpp b/demos/qmlweather/main.cpp index 74f3343c..2493ecfe 100644 --- a/demos/qmlweather/main.cpp +++ b/demos/qmlweather/main.cpp @@ -20,7 +20,9 @@ #include <QApplication> #include <QtDeclarative/QDeclarativeContext> +#include <QtDeclarative/QDeclarativeEngine> #include <QDebug> +#include <QDir> #include "qmlapplicationviewer.h" Q_DECL_EXPORT int main(int argc, char *argv[]) @@ -28,7 +30,12 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) QScopedPointer<QApplication> app(createApplication(argc, argv)); QmlApplicationViewer viewer; - 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); QString appKey; if (argc > 1) { diff --git a/demos/quick2chart/main.cpp b/demos/quick2chart/main.cpp index 4f1466ec..2f0e83bf 100644 --- a/demos/quick2chart/main.cpp +++ b/demos/quick2chart/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/quick2chart/main.qml")); viewer.showExpanded(); diff --git a/demos/quick2oscilloscope/main.cpp b/demos/quick2oscilloscope/main.cpp index d1911dfd..1e20fa9e 100644 --- a/demos/quick2oscilloscope/main.cpp +++ b/demos/quick2oscilloscope/main.cpp @@ -21,6 +21,8 @@ #include <QtWidgets/QApplication> #include <QtQuick/QQuickItem> #include <QtQml/QQmlContext> +#include <QtQml/QQmlEngine> +#include <QDir> #include "qtquick2applicationviewer.h" #include "datasource.h" @@ -29,7 +31,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 DataSource dataSource(&viewer); viewer.rootContext()->setContextProperty("dataSource", &dataSource); |