summaryrefslogtreecommitdiffstats
path: root/src/tools/androiddeployqt
Commit message (Collapse)AuthorAgeFilesLines
* Add support for passing qrc files to qmlimportscannerAndy Shaw2019-11-131-12/+23
| | | | | | | | | | | | With the qrcFiles entry in the deployment JSON for Android, it can now pass this on to qmlimportscanner for scanning the qrc files for the available imports. This enables qmake to populate the qrc files it has referenced in the project, be it generated by qmake or added by the user. Task-number: QTBUG-55259 Change-Id: Ic512ce6f24508b3ea09ebdd07ac4446debfd9155 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix bundled_libs section from libs.xmlBogDan Vatra2019-10-251-1/+1
| | | | | | Fixes: QTBUG-79376 Change-Id: If7681365110341379913ae46a96a2f2296197b8f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Do not extract QML assets dataBogDan Vatra2019-10-021-97/+71
| | | | | | | | | | | | | | Instead to extract the assets QML file, we create a .rcc bundle file which is register by android qpa plugin before the it invokes the main function. Thsi way we avoid extracting the QML files from assets as they can be accessed directly from resources. [ChangeLog][Android] Instead of bundling QML resources in assets and extracting them on first start, Qt now creates an .rcc file and register it before invoking the main function. Change-Id: Icb2fda79d82c5af102cc9a0276ff26bb0d1599e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Fix plugins namingBogDan Vatra2019-10-011-9/+11
| | | | | | | | | | | | | | Android 5 doesn't extract the files from libs folder unless they are prefixed with "lib". This patch sets a proper name for the plugin which will make gdb happy and it will also avoid any name clashes. If we rename the plugins when we copy them, gdb won't find them, therefore it can't load their symbols. On Android all the libs are in a single folder, so to make sure we don't have any name clashes, we are prefixing the plugin name with it's relative path to qt folder (we replace / with _). Fixes: QTBUG-78616 Change-Id: I7e0e67d65448532769d69f46b1856c029e2cf5cb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Fix architecture extraction from file path in androiddeployqtAlexandru Croitor2019-09-031-1/+3
| | | | | | | | | | | | | | | | | | The regular expression was too greedy with the ".*" sub-expression, thus if the prefix path contained underscores, the extracted architecture value was wrong. Example prefix: ~/dev/qt/qt514_built_android/qtbase Example captured architecture: built_android/qtbase/plugins/platforms/android/libqtforandroid_x86 First extract the file name from the given path, and then match on just the file name. Change-Id: I8e56e56747096c7a2398e959d91c2d1f65de2495 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add support for aabBogDan Vatra2019-09-021-42/+71
| | | | | Change-Id: I4814a51b25d5e3953e5e1c71d9a0e1bf3fed7385 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Use QLatin1String where possibleBogDan Vatra2019-08-281-115/+114
| | | | | Change-Id: I8f94ba4880bcac735e4445d71f0e22774d9f78eb Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-494/+428
| | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Run prebuilt android test APKsBogDan Vatra2019-06-131-1/+20
| | | | | | | | | | | | androidtestrunner now checks is the apk is build and if it is, it will skip the build phase. Now we can build the apks in parallel (which takes most of the time) and run them sequentially. This way running tests on Android is much faster. Change-Id: I82f34723ac08f7728cc0daab3366e03821335eed Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Nuke ant supportBogDan Vatra2019-06-061-127/+9
| | | | | | | | | | | | | Ant is history for so many years, yet we forgot to remove it from androiddeployqt. [ChangeLog][Android] Remove ant support from androiddeployqt Change-Id: I093295e18e8710c565e9d101e21c49b3c62f6322 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Convert the one extant use of QTime as a timer to use a local classEdward Welbourne2019-05-241-2/+17
| | | | | | | | | | | | | Use QDateTime::currentMSecsSinceEpoch() instead of a QTime with funky wrapping at midnight and potential DST glitches. Change-Id: I2455db5778635fc00b4ffdef6edee6d6793e50eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-05-031-0/+2
|\ | | | | | | refs/staging/5.13
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-05-031-0/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/pcre2/qt_attribution.json Change-Id: Ibae941cb12662f27bd6962ee02bc235971c59a15
| | * Android: Copy extra libs in aux modeBogDan Vatra2019-05-021-0/+2
| | | | | | | | | | | | | | | Change-Id: Ibbdd6b9c23c094923bc60a8a013f3ac356444510 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | androiddeployqt: print qmlimportscanner command in verbose modeMitch Curtis2019-05-031-0/+5
|/ / | | | | | | | | | | | | | | | | | | This helps debugging import issues, and will produce output like this: Running qmlimportscanner with the following command: /media/dev2/qt5.13-android-x86-debug/qtbase/bin/qmlimportscanner -rootPath /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/ -importPath /media/dev2/qt5.13-android-x86-debug/qtbase/qml /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/ Task-number: QTBUG-73572 Change-Id: I3c8fe16cb76f1b11913a3b9cc98470f6071438ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-261-1/+1
|\| | | | | | | Change-Id: I6ecf7074eda57ef4954fb3fdc7a6d1e8cd229340
| * Revert "androiddeployqt: Do not check for stdcpp-path in auxiliary mode"BogDan Vatra2019-04-251-1/+1
| | | | | | | | | | | | | | | | | | stdcpp-path is needed to set the correct stdc++ library in libs.xml file. This reverts commit 1366c4f04645d74e83847687adcf61ecfa20b3d2. Change-Id: I79b398c5d97c1e98bf503ef7b95b2e9f0f18bc11 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-201-1/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformintegration.cpp src/gui/kernel/qplatformintegration.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/xcb/qxcbconnection_screens.cpp Change-Id: I15063d42e9a1e226d9d2d2d372f75141b84c5c1b
| * Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-151-1/+1
| |\ | | | | | | | | | Change-Id: I5f9d8090a07056411fb65d7de60eb679d00e99a3
| | * Merge 5.12 into 5.12.2Kari Oikarinen2019-02-201-3/+12
| | |\ | | | | | | | | | | | | Change-Id: I3a5721aebd3afd8fa08d3f3df6bf61502fa9c347
| | * | androiddeployqt: Do not check for stdcpp-path in auxiliary modeChristian Kandeler2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QBS-1429 Change-Id: I189bc42fdee5e63f55705084247fbfc4448a6b65 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-151-1/+1
|\| | | | | | | | | | | | | | | Change-Id: I2bf3b4ceb79364330eae4cbf3cdee9a82d1be46d
| * | | androiddeployqt: Also shellquote rootPath as part of importPathsUlf Hermann2019-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-74212 Change-Id: Ie0c9b5b230e93e50d6e636a6105c3bd717715374 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-211-4/+13
|\| | | | | | | | | | | | | | | Change-Id: I830beea26863323ab78a5d4b093f7763d77ad3da
| * | | Add translatable attribute to the app_name string to fix a lint warningLars Schmertmann2019-02-201-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incomplete translation ---------------------- If an application has more than one locale, then all the strings declared in one language should also be translated in all other languages. If the string should not be translated, you can add the attribute translatable="false" on the <string> element, or you can define all your non-translatable strings in a resource file called donottranslate.xml. Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute. Change-Id: I6f93f34fc36a06de9a0b687a93cf58df941dbbcb Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | Kludge popen/pclose calls on MS-WinDmitry Sokolov2019-02-191-3/+12
| |/ | | | | | | | | | | | | | | | | For MS Visual Studio we need to use _popen() and _pclose() instead of the POSIX functions; and the pipe needs to be opened in binary mode. Change-Id: Ide0fb26a1e5f121b384b0baaf8100f26c614ccc6 Fixes: QTBUG-73810 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-02-081-1/+23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml src/network/ssl/qsslsocket_mac.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/corelib/kernel/qtimer/BLACKLIST tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp tests/auto/testlib/selftests/expected_blacklisted.lightxml tests/auto/testlib/selftests/expected_blacklisted.tap tests/auto/testlib/selftests/expected_blacklisted.teamcity tests/auto/testlib/selftests/expected_blacklisted.txt tests/auto/testlib/selftests/expected_blacklisted.xml tests/auto/testlib/selftests/expected_blacklisted.xunitxml tests/auto/testlib/selftests/expected_float.tap tests/auto/testlib/selftests/expected_float.teamcity tests/auto/testlib/selftests/expected_float.txt tests/auto/testlib/selftests/expected_float.xunitxml Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de> Done-With: Edward Welbourne <edward.welbourne@qt.io> Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
| * Merge remote-tracking branch 'origin/5.12.1' into 5.12Qt Forward Merge Bot2019-02-061-1/+1
| |\ | | | | | | | | | Change-Id: I486f3c51df4b60fe60b75ba642636a835a75f731
| | * Fix llvm-strip errorv5.12.1BogDan Vatra2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In NDKr19 they removed "-strip-all-gnu" argument, now llvm-strip prints tons of: .../llvm-strip: error: unknown argument '-strip-all-gnu'. Change-Id: I11bb2d6abcc5f236730c57b5b93cc932c7ba58c6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | qmake: Add variables for setting the version number and name in AndroidAndy Shaw2019-02-041-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it much easier to have the version information set for an Android APK without having to manually modify the AndroidManifest.xml each time. [ChangeLog][Android][qmake] Can now set the version name and code for Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively in the pro file. Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57 Done-with: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Android: Set minimum supported version to android-21Eskil Abrahamsen Blomfeldt2019-01-231-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current distribution, this is 90% of active devices, and it was released in 2014. Qt 5.12 is LTS and will continue to support older Android versions for a long time to come. This is to reduce the testing needed on outdated platforms and allow ourselves to use some newer APIs unconditionally in Qt. Android 21 was chosen because it is the minimum version that supports 64 bit builds. [ChangeLog][Android] Increased the minimum supported Android version to Android 5.0 (API level 21). Fixes: QTBUG-70508 Change-Id: Ia7b4345e42ca05a25a292f11ccbb8cbd692cf8f0 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* / Add the command line option --no-strip to androiddeployqtJoerg Bornemann2019-01-161-0/+6
|/ | | | | | | | | | | | | There are certain use cases for keeping debug information on the device, for example collecting stack traces when the app crashes. [ChangeLog][Android] Added the --no-strip command line option to androiddeployqt. Change-Id: I96574c2c57d85fb23d5fc65380e471fa892b6543 Fixes: QTBUG-57771 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: Prepare for the worst, when the NDK will remove all GNU toolsBogDan Vatra2018-11-191-38/+59
| | | | | | | | | | | | | In NDKr18 Google removed GCC, most probably the massacre will not end there and they will remove all GNU tools, so we need to start using LLVM ones. This patch still keeps the compatibility with GNU tools if the Qt was built with android-g++ mkspec. Change-Id: Ibe1979577e08ce63604d55fc5bbd5f64b3737675 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Make sure that the path is using / for separatorsAndy Shaw2018-11-121-1/+1
| | | | | | | | When passing \ to Gradle it will strip these out, so by using / it ensures that it is able to find the Android SDK directory fine. Change-Id: I053f087438ade6c30d015abe00e9958beb90a947 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* androiddeployqt: Add auxiliary modeChristian Kandeler2018-08-211-0/+23
| | | | | | | | | | | In this mode, library and other dependencies are copied into the build directory, and the XML templates in the build directory are updated accordingly, but the project is not built or installed. Needed by qbs. No existing code has been touched. Change-Id: Ib8015f7c2315b39dfb21750fecc8618bce03cb8c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Look for dependency XML files in all prefix pathsVolker Krause2018-08-071-2/+7
| | | | | | | | src/tools/androiddeployqt/main.cpp was moved from qttools into qtbase in 5.11. So re-apply 07bc7c02 in qttools here. Change-Id: I13a77a0c8567d07c4aa6369ed76bdb894b88f86f Reviewed-by: Volker Krause <volker.krause@kdab.com>
* Add support for additional prefix pathsVolker Krause2018-08-071-7/+24
| | | | | | | | | | | | | | That is, paths that are searched for dependencies too, next to the Qt install prefix. So far this only covers library dependencies, dependency meta data or QML imports are subject to subsequent patches. src/tools/androiddeployqt/main.cpp was moved from qttools into qtbase in 5.11. So re-apply 14013829 in qttools here. Change-Id: I5649e518cfa3deeac429b4142e6292cb514ef104 Reviewed-by: Volker Krause <volker.krause@kdab.com>
* Fix apkPath for gradle 4.0+BogDan Vatra2018-08-071-3/+8
| | | | | | | | | | | This change keeps the compatibility with old gradle. It is needed for projects that must use the old gradle version. src/tools/androiddeployqt/main.cpp was moved from qttools into qtbase in 5.11. So re-apply c03f5673 in qttools here. Change-Id: Iaa669c6bf12277cb0cde422228a5c653b6bcf433 Reviewed-by: Volker Krause <volker.krause@kdab.com>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-07-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
* Move androiddeployqt to qtbaseJan Arve Sæther2018-06-212-0/+2923
androiddeploytqt is the only official way of deploying applications to the device, so it is therefore part of the "platform". It therefore needs to live in qtbase. Change-Id: I52d7c4427275aacec792b71284a0c10edaf7ab69 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>