summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/android
Commit message (Collapse)AuthorAgeFilesLines
* Android: make sure we don't add _$${QT_ARCH} twiceBogDan Vatra2020-01-091-1/+2
| | | | | | Fixes: QTBUG-80582 Change-Id: I2b3790bb18754e146db611d61c48a3b7a532575c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Always add the extra Android apk and aab targetsAndy Shaw2020-01-021-2/+1
| | | | | | | | | | The extra targets should be added to the project regardless so that qmake can handle it appropriately. This enables make apk to work correctly then from a SUBDIRS project. Fixes: QTBUG-80351 Change-Id: If5903e0d2f543babfdb4ebbb13502e32ab97c6fc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.14.0' into 5.14Qt Forward Merge Bot2019-12-131-0/+1
|\ | | | | | | Change-Id: I03927d2ef75514e4f2633839387806125d8954f1
| * Set proper TARGET name for libsBogDan Vatra2019-11-291-0/+1
| | | | | | | | | | | | | | | | | | When doing a multi ABI build in one go, if the TARGET is the same, we'll endup with only one library which is not okay. Task-number: QTBUG-80351 Change-Id: I0c5ff24480446d671e59dbd5a045f9889dff39e9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Account for when qtquickcompiler is used when getting the resourcesAndy Shaw2019-12-121-2/+3
|/ | | | | | | | | | | | | When passing the resources used to the android deployment setting json file it needs to check the variable generated by the qtquickcompiler feature so that it can still find the qrc files originally populated in the resources. This ensures that qmlimportscanner can still scan the original qrc files when determining which QML import plugins are needed. Fixes: QTBUG-80713 Change-Id: I695b289eaaa78cc6c355fa8abd22a8a1031a9f6c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Add support for passing qrc files to qmlimportscannerAndy Shaw2019-11-131-0/+16
| | | | | | | | | | | | 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>
* Android: Add aab targetBogDan Vatra2019-09-021-3/+15
| | | | | | | | Move aab, apk, apk_install_target to !build_pass, otherwise these targets will be executed for each android abi. Change-Id: I18f6c8946f503f2c08338f24758bf9059987fe0f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: clean configure params for androidBogDan Vatra2019-08-301-1/+0
| | | | | | | -android-toolchain-version is not needed anymore as we are using exclusively the llvm toolchain. Change-Id: Ia033297a6a2c968352c364758eb1436380a5f96e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Android: Use LLVM tools where possibleBogDan Vatra2019-08-291-5/+6
| | | | | | | | Properly set CROSS_COMPILE qmake variable Fixes: QTBUG-77890 Change-Id: I73e22d0f936d35c373c064d30ea8d92005d79b2c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Android: AUX template doesn't require a multi arch buildBogDan Vatra2019-08-291-1/+1
| | | | | Change-Id: I7b7abe7f016b4b85546986354653fc4ddf320dcc Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-264-34/+113
| | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-07-011-0/+6
|\ | | | | | | | | | | | | | | Conflicts: src/network/ssl/qsslsocket_openssl.cpp src/platformsupport/vkconvenience/qvkconvenience.cpp Change-Id: I97ce6ed185f7fdad8102cc58d3cfec0119fd7bb4
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-291-0/+6
| |\ | | | | | | | | | Change-Id: I4cb91777e7ae9f462fa219d5b9ebeb277fde49c3
| | * Fix build with Android NDK's make on WindowsJoerg Bornemann2019-06-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The make executable that comes with Android's NDK tries to execute the shell-builtin "move" as a stand-alone executable unless you trick it to execute "move" through the shell by surrounding one argument with double quotes or such. Force the execution of "move" through shell by altering QMAKE_MOVE for Android on Windows. Change-Id: I5b1490ad0606960dbd06a4cafb0b0b983e265159 Fixes: QTBUG-35713 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Say hello to $ make apkBogDan Vatra2019-06-061-0/+18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Now creating an .apk it's easier than ever. "$ make apk" is all you need to run to create an apk for your application. [ChangeLog][Android] Introduce "make apk" target, an easy way to create an apk. Change-Id: I12565e7ed32beb42da40d8ce42a52339038be950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Android: Nuke mips architecturesBogDan Vatra2019-05-061-2/+0
| | | | | | | | | | | | | | Mips archs were removed from Android NDK long time ago. Change-Id: Icf64a1e2cfbe3fe7307c7898b14fd199d9eeaad3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-02-081-0/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * qmake: Add variables for setting the version number and name in AndroidAndy Shaw2019-02-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
|/ | | | | | | | | | | | | | | | | | 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>
* Android: Prepare for the worst, when the NDK will remove all GNU toolsBogDan Vatra2018-11-191-10/+16
| | | | | | | | | | | | | 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>
* Support for Q_OS_ANDROID_EMBEDDED and android-embedded build flagsOtto Ryynänen2018-01-201-1/+1
| | | | | | | | | | | | The Embedded Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build embedded Android builds. (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I8406e959fdf1c8d9efebbbe53f1a391fa25f336a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use libc++ instead of libstdc++ when compiling with android-clang mkspecBogDan Vatra2017-08-231-0/+1
| | | | | | | | | | | | | | | clang+libc++ is the only supported way by Google nowadays. libstdc++ is too old and already fails to build some C++11 apps e.g. missing std::to_string(). android-g++ mkspec still uses libstdc++ and g++. Use -isystem to include system headers instead of QMAKE_INCDIR_POST (-I). Task-number: QTBUG-60455 Change-Id: Iba8b04594c2e5e2832e6cf480e4e52ff31ad4106 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Revert "don't overwrite pre-existing INSTALL for target"Christian Strømme2017-06-271-4/+1
| | | | | | | | | | | | This reverts commit c0e94dd0933c549f35d05318cdcd97572c61fabf, as it introduced a regression for applications that sets an installation target (on Android), which a lot of our examples do. The installation target for Android applications/libraries needs to be within in the application bundle's directory tree, or it won't work. Task-number: QTBUG-61635 Change-Id: I8c919ef3888d7679b0f9659796f5e590bc1faa57 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* don't auto-create install targets for static libsOswald Buddenhagen2017-06-172-1/+2
| | | | | | | | | these are not meant to be deployed, so the install hack should skip them. Task-number: QTBUG-42830 Change-Id: I870499dca2cfea87bf0048f019d651ce9cc5d788 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* don't overwrite pre-existing INSTALL for targetOswald Buddenhagen2017-06-171-1/+4
| | | | | | | | | | | | while it's mildly insane that we auto-generate install targets to start with, we can at least refrain from doing so if there is one already. as it happens, this removes the need for excluding the qt build explicitly. Task-number: QTBUG-38452 Change-Id: I74d5df447fba525fa79896c9be2c71d82bc2c6ce Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Load android-specific target override in resolve_targetUlf Hermann2017-04-101-0/+2
| | | | | | | | | Otherwise, in separate_debug_info.prf, we try to process the original target, which is not what we actually build. Task-number: QTBUG-59779 Change-Id: I2b2d2e7b5f87041cc51075da7c3a5b690f94f1f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix Android deployment for 64-bit targetsLaszlo Agocs2017-02-011-0/+3
| | | | | | | Match the logic that is used for building. Change-Id: I9ce6db2357b9b3e19a1e932fae57d376aae406f7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* make use of silent error() emissionOswald Buddenhagen2016-08-081-1/+1
| | | | | | | | get rid of the entirely superfluous stock "Aborting." messages - the event triggering the exit has already reported the problem. Change-Id: Ib9dfb9e4212f60eceb2ea432cdf56c5a8afe9d65 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Android: Make SDK detection its own qmake featureEskil Abrahamsen Blomfeldt2016-04-251-0/+21
| | | | | | | | | | | To allow reusing the logic which detects the appropriate Android SDK version to use for building the Java code, this is now separated into its own .prf file. This is required by Qt Purchasing to avoid duplicating the logic there. Change-Id: Ief5f5e70dab79751ef9e5a9c4a019bfda686cd09 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Remove the traces of the discontinued android-no-sdk platformEirik Aavitsland2016-03-301-1/+1
| | | | | | | | | Cleaning out the workarounds for the discontinued "Embedded Android" platform of Boot2Qt. Change-Id: I0ff9d770e82a43457fb7e5da0428f4597ead4038 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fixed recently added "excess colon in front of brace" qmake warningOliver Wolff2016-01-061-1/+1
| | | | | Change-Id: I3a650bb4e27cad00f639e6445c36fa8b69edb5b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-08-041-3/+2
|\ | | | | | | | | | | | | | | | | Conflicts: config.tests/arch/arch.cpp src/opengl/qgl_qpa.cpp src/widgets/kernel/qapplication.cpp Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
| * Android: export ANDROID_SDK_BUILD_TOOLS_REVISION.BogDan Vatra2014-07-311-3/+2
| | | | | | | | | | | | | | | | | | | | It's needed by androiddeployqt tool to run "zipalign" tool and to set it to gradle properties. Task-number:QTBUG-40481 Change-Id: I3dd665a7461a4e981867cdad75a50940e46a5ae6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Android: Output QML import and root paths for qmlimportscannerEskil Abrahamsen Blomfeldt2014-08-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When deploying QML applications, the androiddeployqt tool can use qmlimportscanner to detect the QML dependencies of the application, but then it needs to know the root of the project as well as additional QML import paths. We use the already-existing QML_IMPORT_PATH for the import paths, and default to using the location of the .pro file for the root path (same as for static builds in qt.prf). Change-Id: Ib536272ed1f3f1320ea8ef529655e2ba003bc734 Task-number: QTBUG-34175 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-1/+1
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Android: Fix compiling targets with space in nameEskil Abrahamsen Blomfeldt2014-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | We have to escape the target name to avoid compilation errors. This fixes the compilation failure in the qprocess autotest. [ChangeLog][Android] Added support for building libraries with spaces in name. Change-Id: Ib98ba261fb3a4cc1e835d0cd2f93aac6855a7c21 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Expose "android-extra-plugins" androiddeployqt feature to qmakeAleix Pol2014-06-051-1/+5
|/ | | | | | | | | Makes it possible to use "android-extra-plugins" from qmake through the ANDROID_EXTRA_PLUGINS variable. Change-Id: I7c67e9f104e5397e094afff730efccb91949caa2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* REG: Fix make install on library projects on AndroidEskil Abrahamsen Blomfeldt2014-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of 39e04b022227c52c9e6aac1942919f68247e1394. The original change moved the special make install target path logic into the logic for the app template to make it possible to remove the condition that excluded builds inside the Qt directory. This was to make it possible to build examples in the Qt directory for Android without moving them. However, this broke user library projects, specifically when they were part of a subdirs project and should have been automatically installed into the Android package. This patch brings back the logic but only enables it for library projects, meaning that the only examples inside Qt which cannot be built correctly are library projects (which didn't work anyway). [ChangeLog][Android] Fixed regression in "make install" on library projects on Android so they can be used inside subdirs projects again. Task-number: QTBUG-34781 Change-Id: Iabf53ed68845b2ddd4ae66656e1372c96185660e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Remove android specific qmake variables.BogDan Vatra2013-10-311-12/+0
| | | | | Change-Id: Iba2b929ba70588ffcbcc9395501753521cfe5154 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: Remove support for QMAKE_SUPPORTED_ORIENTATIONSEskil Abrahamsen Blomfeldt2013-10-181-3/+0
| | | | | | | | | | | | | This was created for the iOS port and intended to be cross-platform, but since then they got cold feet and never added the support. It makes no sense to only support this on Android. We need to remove it again and hold off until we can find a proper solution. Editing the AndroidManifest.xml is the non-cross-platform solution for this. Task-number: QTBUG-34166 Change-Id: I51d53b82a3412a9016de01612dd8df9ae12c6633 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Output prefix for tools on x86Eskil Abrahamsen Blomfeldt2013-10-161-0/+1
| | | | | | | | | | When building for x86, the prefix for the tools is not equal to the prefix for the toolchain directory, so we need a separate option for this. Task-number: QTBUG-34110 Change-Id: Iefe8c37892eb6c31fc8762bfb7bc7c6c23cd8b1e Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Android: Correctly escape backslashes in deployment settingsEskil Abrahamsen Blomfeldt2013-10-091-17/+21
| | | | | | | | | | | | When outputting the deployment settings on Windows, the paths might have backslashes. These need to be escaped, otherwise they will simply be removed by the JSON parser (or converted into whatever they happen to represent given the neighbouring character.) Task-number: QTBUG-33926 Change-Id: I11f1bc7d1f8082c73329bdc02fb8d653a0b5c0ee Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* move android-specific feature files to android/Oswald Buddenhagen2013-10-032-0/+81
Change-Id: I1f2b345b1dfad544d53dbf7e17b12c75a2cc7668 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>