summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Use Utils::FilePath in SynchronousProcesshjk2019-06-111-23/+19
| | | | | | | Adapt callers and surrounding code. Change-Id: Ie6c1883a44169cf9d790d06b660f46d24dc24c89 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-22/+22
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Remove remaining uses of FileName::appendPath()hjk2019-05-271-6/+7
| | | | | Change-Id: I33fb650f357d93d177e5977b21b14b42894f571a Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* More FileName::appendPath() -> .pathAppended() changeshjk2019-05-271-2/+1
| | | | | Change-Id: Ibc7eb4eb3ffb64658e441aafa240b1ddc0061930 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Even more FileName::appendPath() -> pathAppended()hjk2019-05-201-5/+5
| | | | | Change-Id: I0a8bc391ff3704e14df87e4fa3bc82269146f943 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Replace mutating FileName::appendStringhjk2019-05-151-3/+3
| | | | | | | ... by a non-mutating .stringAppended, doing the same. Change-Id: I7adb6cae3415942cc9a80088bd75cda9d577d4a5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: Add proper QBS supportBogDan Vatra2019-04-261-0/+8
| | | | | | | | | | | | Now we can use QtCreator to build, deploy, run & debug QBS projects. [ChangeLog][Android][QBS] Add Android support for QBS projects. Fixes: QTCREATORBUG-15573 Fixes: QTCREATORBUG-19880 Fixes: QTCREATORBUG-22182 Change-Id: I08b153a44dcf7ca178689c1c30fa2201c4cc0dbb Reviewed-by: hjk <hjk@qt.io>
* Say hello to Android CMake supportBogDan Vatra2019-03-061-2/+31
| | | | | | | | | | | | | | | | | | Requirements: - NDKr19 or newer - Qt 5.12.1 or newer QtCreator supports the following variables: - ANDROID_PACKAGE_SOURCE_DIR - ANDROID_EXTRA_LIBS Be aware, that there is a lot of magic done on QtCreator side, and you can't use only cmake to build an Android APK. [ChangeLog][Android][CMake] Add Android support for CMake projects. Change-Id: I1d351976ed56f424c2bc972f4ff7b5968147a2ed Reviewed-by: hjk <hjk@qt.io>
* Replace static_casts by QOverload where possiblehjk2019-02-261-1/+1
| | | | | | | | | Mainly to get rid of the QProcess::finished deprecation warning. Also adjust coding style in the surrounding connects when needed. Change-Id: I12f9b248c7974b892c4a069356e578e80f8c59e9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Remove some indirection when finding the minimum NDKhjk2019-02-181-6/+0
| | | | | | | | | | One instance had (base) qt version already at hand, the other was inside AndroidQtVersion itself. Also remove the typo in the function name. Change-Id: I8fb0a1cd11751e4dea1f29a99603ea6b0112c49e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Rename KitInformation to KitAspectChristian Kandeler2019-02-111-4/+4
| | | | | | | | | | | The name "KitInformation" does not properly convey the fact that it represents a certain *aspect* of a kit. The same goes for "KitConfigWidget", which in addition was inconsistent with "KitInformation". We now use "KitAspect" and "KitAspectWidget". Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97 Reviewed-by: hjk <hjk@qt.io>
* Android: Remove DeployConfiguration restrictionhjk2019-01-251-1/+0
| | | | | | | | | | | | | | | | ... to matching Qt and tool chain. This is the only remaining place in Creator that refuses to restore deploy configurations in such cases, and arguably there's no point in dropping such a configuration as a whole, the individual steps (i.e. AndroidDeployQtStep) can and do chicken out at deploy time if there's no Qt version in reach. Also move AndroidDeployConfigurationFactory to the plugin.cpp, no need for a .cpp/.h pair for the remaining few lines. Change-Id: If6ea7cf9573149c88c05629997ac582dc90d1e48 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Code cosmeticshjk2019-01-221-25/+4
| | | | | | | | Remove unused functions, inline rarely-used code, ... Change-Id: Ib3b0645cebf6bfabea1f4f2b4c5a582afca18101 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QmakeAndroidSupport: Remove pluginhjk2019-01-161-3/+2
| | | | | | | | The remaining dependency is hacked into QmakeProjectManager by using a compile time-only dependency on androidconstants.h. Change-Id: Id78125137bc75c145a072bc753276abbf0029647 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Merge remote-tracking branch 'origin/4.8'Eike Ziller2019-01-071-0/+7
|\ | | | | | | | | | | | | Conflicts: src/plugins/coreplugin/dialogs/externaltoolconfig.ui Change-Id: Ie38e9028cee599578c59b22325d85c097335243e
| * Android: Correct setting ANDROID_NDK_PLATFORMChristian Stenger2018-12-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | Instead of using always just the minimum SDK version we need to differentiate between SDK and NDK version. Fixes: QTCREATORBUG-21536 Change-Id: I2f99c9d40ab05ccd2a4b8efeb2cd0300ecf0cf3a Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* | ProjectExplorer: Drop the target argumenthjk2018-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... from ProjectNode::targetData and setTargetData, and rename them to data and setData. It was only used in the implementation to retrieve the right node, instead move the responsibility to find the right node to the caller. Current assumption is that the functions were always called on the right node already. Change-Id: I9ae7e8a7ed5c79b924b99fd9a6a652bad56d114a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | QmakeAndroid: Replace remaining AndroidQtSupporthjk2018-12-201-24/+11
| | | | | | | | | | | | | | | | | | | | | | | | This uses the same approach as in the previous patches: Have some generic interface in the base classes (here ProjectNode::targetData() setTargetData()) and implement on the qmake project side. Implementation for Cmake/QBS is architecture-wise possible, but not used right now, and left for later. Change-Id: I3bbf66170020cf9027a894cd66db15ec7ffbf499 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.8'Eike Ziller2018-11-291-1/+3
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/android/androidrunnerworker.cpp Change-Id: Ibd8b99435365fb7e7d488313fd1d2b3a75adad1b
| * Android: Add Android 9/API level 28Christian Stenger2018-11-231-1/+3
| | | | | | | | | | | | Change-Id: I80b294a20bbfa19f9b83e080caa6e647062f7458 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Merge remote-tracking branch 'origin/4.8'Eike Ziller2018-10-241-1/+1
|\ \ | |/ | | | | | | | | | | | | Conflicts: doc/src/editors/creator-only/creator-code-pasting.qdoc src/plugins/android/androidbuildapkwidget.cpp Change-Id: Iea8b7135643d14ffe49d10b14bedb8fa5ac48063
| * Fix frequent typoRobert Loehning2018-10-231-1/+1
| | | | | | | | | | | | | | can not -> cannot Change-Id: Ie872ada1bc9b4ed64bffb667c2e44dbb13b4ad11 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/4.8'Eike Ziller2018-10-161-1/+1
|\ \ | |/ | | | | Change-Id: I0ff6f659b7ccd4ff5a79e422a1d54488508fe05f
| * Remove hard-coded disabling of debug logsOrgad Shaneh2018-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Instead, set the default level of all logs to QtWarningMsg. The call to setFilterRules overrides the user preferences in qtlogging.ini. Change-Id: Id5f6cd550d14ff7f45ae04c5d3110e0bafb0f072 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: hjk <hjk@qt.io>
* | Android: Re-install Qt live on version mismatchVikas Pachdha2018-10-081-9/+25
| | | | | | | | | | | | | | | | | | | | Use version code to determine the app's version, version name is only for display Change-Id: I8e3a8f6b1b8fab2014a762ebabf09b3ce2e0b559 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Android: Remove multiple code paths to run adbVikas Pachdha2018-10-051-40/+61
|/ | | | | | | | Refactor the code to use adb from AndroidManager, do cleanup and improve logging Change-Id: I77b682d37c9328e6aa978eaf05b3b5c131907f09 Reviewed-by: hjk <hjk@qt.io>
* Android: Use QVariant for targetData/setTargetDatahjk2018-08-011-2/+3
| | | | | | | | | This makes it more similar to the classic QAbstractItemModel::{data/setData} pattern and hides qmake-specific semantic (variables are QString*Lists*) behind something more general. Change-Id: I82d7006affd4af208be2b7640076698d13fd3a61 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Android: Simplify apkPath determinationhjk2018-08-011-1/+22
| | | | | | | It doesn't explicitly need the qtSupport indirection anymore. Change-Id: I25f0649a3b7760fdef3b62097ac55341e6b16fe4 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Android: ModernizeAlessandro Portale2018-07-261-9/+9
| | | | | | | | | | | | modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using modernize-use-equals-default modernize-use-transparent-functors Change-Id: I6c9e567edf16cf436c0e0c1239b40f74574a1096 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-07-101-21/+102
|\ | | | | | | | | | | | | | | | | Conflicts: qbs/modules/qtc/qtc.qbs qtcreator.pri src/plugins/android/androiddebugsupport.cpp Change-Id: I01c4880850ad25432a65bb32849365d2aeb0756f
| * Android: Parse APK to find package name and other informationVikas Pachdha2018-07-091-0/+69
| | | | | | | | | | | | Task-number: QDS-16 Change-Id: I228af0711fb2dd64ff96dcb5fc9bc634b556ffd9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Android: Add API's to run Android SDK toolsVikas Pachdha2018-07-091-17/+34
| | | | | | | | | | | | Task-number: QDS-16 Change-Id: Ifea5aa17330833cd130555778134fb8f90e2d990 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Android: add logging for build and runVikas Pachdha2018-07-041-0/+9
| | | | | | | | | | Change-Id: Idca5a45713762aa9e2861dcc58c3bbd96cbe687e Reviewed-by: hjk <hjk@qt.io>
* | Android: Change the minimum API level supportedVikas Pachdha2018-06-271-1/+3
| | | | | | | | | | Change-Id: Iea6b1720c64810c490e4c9876ecb5ff8c8a9a935 Reviewed-by: hjk <hjk@qt.io>
* | Android: Remove code to help with upgrades from Qt 5.1hjk2018-06-131-11/+0
| | | | | | | | | | Change-Id: Id9cf0cd585ebdaabc03ff58ab04e7c12a5af39ba Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* | QmakeAndroid: Move some build-system agnostic items to Android basehjk2018-06-131-4/+11
|/ | | | | Change-Id: I0f258ee5e4afcb3abc7c2bbbaa612b1912a8d2b9 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* QmakeAndroid: Introduce two new functions in QmakeAndroidQtSupporthjk2018-05-091-7/+8
| | | | | | | | | ... and use them to remove direct dependency of the QmakeAndroidBuildApkStep on qmake, so it can be merged into the base AndroidApkStep, leaving less build system dependent code in the QmakeAndroid plugin. Change-Id: Id7c6a9cb0e51d6b38850a0ad0e0e83a602f53338 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Merge remote-tracking branch 'origin/4.6'Eike Ziller2018-04-171-0/+10
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/android/androidrunnable.h src/plugins/android/androidrunner.cpp src/plugins/qmakeandroidsupport/qmakeandroidrunconfiguration.cpp src/plugins/qmakeprojectmanager/qmakeproject.cpp src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp Change-Id: I68093d44cfd672347eab82459ff70c21a32297ce
| * Android: Fix debugging on Android 8+BogDan Vatra2018-04-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new way is much reliable and now we can debug all the libs from very first start, including static constructors, JNI_OnLoad, etc. The downside is that the startup is a little bit slower then before. On a Ryzen 1700X is 2 to 5 seconds slower. Task-number: QTCREATORBUG-19081 Change-Id: Iacedf7b8aa84de5026f9c81eeca35dd377cf4640 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io>
* | Android: Tolerate empty build/deploy configurationsUlf Hermann2018-02-141-4/+5
|/ | | | | | | | If there is no build or deploy configuration, just skip the building and deploying. Change-Id: I8b6f6d14100f366df5683eb77490d7c0dc588f94 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Android: Use device types as restrictions on project configurationshjk2017-12-191-13/+2
| | | | | Change-Id: I3f7ff05f27c76dadec9a9ff0ae02848830655472 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* De-emphasize PluginManager::getObjects<Type>()hjk2017-12-151-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by additionally keeping local (currently non-owning) pools per "interesting" type. Current situation: - The global object pool does not scale well for looking up objects, as iteration plus qobject_cast typically iterates over all pooled objects. - User code that can use typed results from the object pool need to have access to the full type definition anyway, i.e. depend on the plugin of the target class anyway. The patch here solves the scaling problem is to have local type-specific pools to which objects register in their constructors and deregister in their destructors. This patch here does *not* change the ownership model of the pooled objects, however, it opens the possibility to change the ownership model per type (e.g. by not putting things into the global pool at all anymore and make the local pool 'owning') and the intent is to handle that in later patchs. Even without the follow-up patches this here is a performance improvement for the cases that access the local pools instead the global one, i.e. "practically all". Change-Id: Ib11a42df2c4ecf5e1155534730083a520dd1995b Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/4.5'Eike Ziller2017-10-121-1/+3
|\ | | | | | | Change-Id: Iebd340258966aff910fb9ab0e45b5149e8f242f0
| * Android: Refactor Android SDK packagesVikas Pachdha2017-10-111-1/+3
| | | | | | | | | | | | | | | | | | | | Introduce a hierarchy for Android SDK packages and refactor the code accordingly. This is ground work for sdk management and automatic android setup Task-number: QTCREATORBUG-18978 Change-Id: Idef545e3b3a8e33e920be52b26094fb8046afcd3 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Android: turn "use Ministro" into a checkboxJake Petroules2017-10-101-1/+1
|/ | | | | | | | | | | | | | Ministro is an advanced deployment option which requires knowledge of how to set up and maintain a Ministro repository. Place it with the other advanced options instead of as a checkbox alongside the normal deployent mechanism which is used by default and probably in the vast majority of cases, in order to reduce cognitive load on the user and clean up the UI a bit (since two options in a radio selection doesn't make much sense). Task-number: QTBUG-62995 Change-Id: If33b3c73db4fcc66717dd4ff0f7923f0250e8418 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: Remove Ant and make gradle as the default java build toolVikas Pachdha2017-09-141-10/+1
| | | | | | | | All GUI options to choose between ant and gradle are removed. Gradle is the only java build tool used now. Change-Id: I309ff66256c5d40920a5d77a8331c5917c53c185 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: remove support for local/debug deployment optionJake Petroules2017-09-061-2/+2
| | | | | | | | | | | | | This is only usable with versions of Android older than 5. Now that Android 8 is the current version, we say goodbye to this feature as it is almost certainly no longer of use to anyone. Task-number: QTBUG-62995 Change-Id: I19795eb385b18f4dd87a1bb8df57d36c3fa28dc5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: Extend Android SDK sanityVikas Pachdha2017-09-061-9/+3
| | | | | | | | | Verify the essential tools and packages required for development Task-number: QTCREATORBUG-18837 Change-Id: Ie89e8fcf3bf75f1db9cc5eac50859cf6f3e5fafd Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android: Support API level 25 and 26Vikas Pachdha2017-08-161-1/+3
| | | | | | | Task-number: QTCREATORBUG-18690 Change-Id: Ifa25d95c75e854be1b88065925dd77296720f183 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: Use avdmanager toolVikas Pachdha2017-04-121-2/+3
| | | | | | | | | android tool is deprecated since sdk tools version 25.3.0. Use the new avdmanager tool Task-number: QTCREATORBUG-17814 Change-Id: Id6f495f14e12d0069df08164cac1929b76d9e932 Reviewed-by: BogDan Vatra <bogdan@kdab.com>