summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't try to add absolute paths with FilePath::pathAppended()hjk2021-08-131-2/+2
| | | | | | Change-Id: Ib4cc5cacb33679e4ed8d7aec24b6392c2e000b60 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: Add Android 12 to SDK Manager parsingAssam Boudjelthia2021-07-141-0/+2
| | | | | | | | | Allow SDK Manager to parse packages from android-s as Android 12 properly. Pick-to: 4.15 Change-Id: I3feae845e5b8d98fe1a70988cf6e2ac1d9a5c16a Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* All: Replace most SynchronousProcess by QtcProcesshjk2021-06-231-4/+4
| | | | | Change-Id: I0bf22fef2cd4a7297ef5a1e9aa9c3e2b9348ba42 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Don't check QtcProcess exit codehjk2021-06-021-3/+3
| | | | | | | | This is already baked into QtcProcess::Result. Change-Id: I02b017c7d26b5c42ea4e00cea5c3b393274edfdc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Utils: Rename QtcProcess::Result::Finished to FinishedWithSuccesshjk2021-06-021-4/+4
| | | | | | | | | | | | To make clear that this is not just any finish. Also change FinishedError to FinishedWithError, to create symmetry. Also adapt enum member description to reality. Change-Id: I13e05391eb86fdb24e2ae660f14dfddb282e1104 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Fix multiple clang clazy warningsAssam Boudjelthia2021-06-011-6/+4
| | | | | Change-Id: I2ea6cebd16c09a8a4502f4719d99a9d85e5e7d02 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Utils: Join SynchronousProcess::run and runBlocking implementationshjk2021-05-251-4/+8
| | | | | | | | | | | | | | | Make functionality dependent on an (intentionally ugly) setProcessUserEventWhileRunning call. Also, back-paddle a bit on API combination of QtcProcess and SynchronousPrceoss for now and prevent the QtcProcess-and- runBlocking and SynchronousProcess-and-start combinations. Goal is still to have all in QtcProcess in the end, but this may take a while. Change-Id: Ic146ec5db0ab8dc9613e5b2af5f4dc90bc7465ca Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Remove CommandLine argument from QtcProcess::run{,Blocking}hjk2021-05-191-4/+8
| | | | | | | | | | | Makes run() more similar to what start() looks like. Also add some asserts to make sure run() and related functions are only called on SyncronousProcesses, as these are currently the only ones where this works. Change-Id: Idee6076c3f40a484db5c17f5bb348698cc83d220 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Use a setter for QtcProcess::run(.... writeData)hjk2021-05-171-1/+2
| | | | | Change-Id: Ic56f8ecc158374251f89bb62c4b3d62168ae8409 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Simplify QtcProcess::exitMessage() interfacehjk2021-05-171-1/+1
| | | | | | | | | | | This was requiring parameters the process object already knows. This is a slight behavior change in most cases, it now includes always the command line arguments, which previously only happened in gcctoolchain.cpp and iarewtoolchain.cpp. Change-Id: Id25a68c397e2f1d8bf52ab29210e215b1de46c6d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Make process results accessible through QtcProcess objecthjk2021-05-141-14/+12
| | | | | | | | | | | | | | | | The result is fully stored in the object anyway. Using the extra SynchronousProcessResponse structure only causes copies of the data and complicates access on the user side in a lot of cases. The result bits are now also accessible individually. There's obvious room for follow-up changes on the topic, e.g. ShellCommand::runCommand's parameter list could shrink to just a SynchronousProcess parameter. Change-Id: I45aa7eb23832340be06905929280c012e1217263 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Merge {synchronous,qtc}process.{h,cpp} file pairshjk2021-05-101-1/+1
| | | | | | | | Mechanical to prepare merging the actual classes. Adapting #includes. Change-Id: I77a2c28129287778bc870c30cb890cd26bc2e62b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Prevent crash in AndroidManager::applicationAbishjk2021-03-261-1/+1
| | | | | | | | | | ... in connection with CMakeBuildConfiguration initialization. Having an Android device type does not necessarily mean an Android Qt version is selected in an incomplete kit. Change-Id: Ib157166c45b7d2ac20eafd6437054b9232595c1e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Merge remote-tracking branch 'origin/4.14'Eike Ziller2020-12-171-0/+5
|\ | | | | | | Change-Id: Ie52e046f8e280e8c39f0cc5e9e710b4f885010a6
| * Android: fix debugging with qbsRaphaƫl Cotty2020-12-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | If the default libs path doesn't exist (which is the case for qbs) then try to get the abis using the current project node data method using the Android::Constants::ANDROID_ABIS flag. Because in multiplex (multi arch) mode dynamic libraries are compiled in different products, library paths must be gathered from those sibling products using the "dependencies" json array. Change-Id: I9409a6a12fd9f304f427ed7868a7060c8f985a0b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Use new message manager APIEike Ziller2020-12-081-2/+3
|/ | | | | | | | | | Bring pane to front if error occurs when trying to install custom APK. This is only triggered when the user explicitly presses a button, so that is fine. Task-number: QTCREATORBUG-24430 Change-Id: I4358e9a430ac220400ed70ebfe617f556d6e91a3 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Remove unused functionsAlessandro Portale2020-09-151-100/+0
| | | | | | | As found by Cppcheck Change-Id: I9274fe45ed49099b52b4f8556508ec0adc676386 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QtSupport: Add supportsMultipleQtAbis getterAlessandro Portale2020-09-071-1/+1
| | | | | | | | | | | | | Introduce bool QtSupport::supportsMultipleQtAbis(). Let AndroidQtVersion respond according to the QVersionNumber. This allows to replace the version arithmetics in several places with straight forward (and better findable) function calls. Task-number: QTCREATORBUG-24471 Change-Id: Ib6e39fd6485a54e08ad66f84d4e2582989043419 Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/4.13' into masterEike Ziller2020-08-101-7/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/cmakeprojectmanager/cmakebuildstep.cpp src/plugins/cmakeprojectmanager/cmakebuildstep.h tests/auto/debugger/tst_namedemangler.cpp tests/auto/qml/codemodel/check/tst_check.cpp Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
| * Android: Introduce constants for Android ABIsAlessandro Portale2020-07-261-7/+8
| | | | | | | | | | | | | | | | | | Avoiding string duplication prevents typo-related runtime errors and allows an IDE to use find symbol rather than plain text search. Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Utils: Drop Utils::SkipEmptyParts againhjk2020-07-211-1/+1
|/ | | | | | | | We require Qt 5.14 nowadays. Change-Id: Iff245257d3cb19207007c0445ee13814e66152dd Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Prevent crash in case there is no Qt version sethjk2020-07-061-1/+1
| | | | | | | | For CMake build. Change-Id: I77946a5d7023a9cefc23baf243991949121e49ec Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: rephrase few logsAssam Boudjelthia2020-07-011-3/+3
| | | | | Change-Id: If03a15c88caab210fd07c61312757317ea86af2f Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* All: Use Utils::SkipEmptyPartshjk2020-06-171-1/+2
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Iab45de9a9c17ddc39a0e343b1175d4f6cb94b098 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Use QRegularExpression instead of QRegExpChristian Stenger2020-06-161-1/+0
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Ic19bd73dd2bac39b393bf87c4567193631b57c80 Reviewed-by: hjk <hjk@qt.io>
* Android: AndroidManager code cosmeticshjk2020-05-191-67/+63
| | | | | Change-Id: I228c29fb7dcf5d919bea3633ea235b5ae5a51a42 Reviewed-by: David Schulz <david.schulz@qt.io>
* Android: Shuffle debug server detection code a bithjk2020-05-191-2/+2
| | | | | | | More in one place now. Change-Id: I974c9351246ea88d8d16bcf7fb45abf763b7b7e5 Reviewed-by: David Schulz <david.schulz@qt.io>
* Utils: Introduce FilePath::operator/(const QString &)hjk2020-04-091-9/+9
| | | | | | | | | Including some random uses. This mimics std::filesystem::operator/(std::filesystem::path). Change-Id: I0b0f5cf0d962fd33d4cbb9be96645a0b4a21ee03 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-02-261-0/+2
|\ | | | | | | Change-Id: I3e7049da2c3da6f784e3cb3407c22ada556e5d24
| * Android: parse Android 11 (R) packagesAssam Boudjelthia2020-02-201-0/+2
| | | | | | | | | | | | | | Allow parsing packages of the latest Android 11 (R) with API level 30. Change-Id: Ia50d2ff23395b79828d47a8f9aeb3880aa131d83 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Android: Inline AndroidManager::intentName into only userhjk2020-02-241-5/+0
| | | | | | | | | | | | | | | | | | | | Using Target is actually not optimal as handle to access that information (BuildSystem + BuildKey or sth to that effect would be better), so reduce the visibility of this kind of interface. Change-Id: I138f156b51795d51d2af49c5119d160663dfc20d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | ProjectExplorer: Introduce ToolChainKitAspect::{c,cxx}ToolChainhjk2020-02-191-1/+1
|/ | | | | | | | | Special accessors to the repeatedly used C and C++ cases to denoise and slim down user code. Plus some code cosmetics nearby. Change-Id: Iba4662bd4731d8c4256e658529f39d5c995691ce Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Automatically use the correct NDK for each Qt versionAssam Boudjelthia2020-02-171-4/+7
| | | | | | | | | | | | | Based on change 286266, we can find a correct NDK version for Qt for Andriod version. This change allows Android plugin to get relevant NDK information and registers appropriate toolchains and kits settings. [ChangeLog][Android] Automatically use correct NDK version corresponding to used Qt version. Task-number: QTCREATORBUG-23583 Change-Id: Ic6b0d7a1ae8962c075b77498de88e018a008ac3e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Remove apparently unneeded QtPlugin includeshjk2020-02-121-0/+1
| | | | | | Change-Id: I511c0318a72dbf2a92e4749dee02eabfc9826139 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/4.11'Eike Ziller2020-02-051-6/+37
|\ | | | | | | | | | | | | Conflicts: src/plugins/genericprojectmanager/genericproject.cpp Change-Id: Ib54f1645ec70a9e6460a888a13190ede130bccca
| * Android: Fix compile for gcc 5.3Christian Stenger2020-01-211-4/+4
| | | | | | | | | | Change-Id: I535b5873390910ca2a9963c70ed2912820c1df0e Reviewed-by: Orgad Shaneh <orgads@gmail.com>
| * Handle Qt < 5.14.0 androiddeployqt settings fileBogDan Vatra2020-01-201-6/+37
| | | | | | | | | | | | | | | | | | This file is needed by cmake projects. Fixes: QTCREATORBUG-23306 Change-Id: Ie0ffd325ca01ac5638620c258d5e8ed5bbd3259e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* | Use isEmpty() instead of count() or size()Alessandro Portale2020-01-201-1/+1
| | | | | | | | | | Change-Id: I0a89d2808c6d041da0dc41ea5aea58e6e8759bb4 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Make various Q_LOGGING_CATEGORY's staticAlessandro Portale2020-01-151-1/+1
| | | | | | | | | | Change-Id: I43d3a198b0863d85a7fb305c7cb768f68acbd139 Reviewed-by: hjk <hjk@qt.io>
* | Android: Move aabPath() to only userhjk2020-01-061-19/+0
| | | | | | | | | | | | | | This incidentally removes one of the activeBuildConfiguration uses. Change-Id: I51b52a4da5f89b464b3b0644b09258ca76a2e872 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Android: Inline *AndroidBuildApkStep::findInBuild() into callershjk2019-12-201-4/+12
|/ | | | | | | This is an unusual and unneeded indirection. Change-Id: If0e241364899555f5fe6e07fed38f440bbf2812b Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Make more logged command calls copy&pasteableAlessandro Portale2019-12-091-4/+6
| | | | | Change-Id: I43e01efc4cb583235ad2d97150d4478b23558659 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix debugging armv7a & x86 when running on 64 bit targetsBogDan Vatra2019-12-031-5/+0
| | | | | | | | We need to choose the preferred ABI based on what it's in the package not based on what Qt supports. Change-Id: I243fbf67913af7804af868d507323c0934ad3752 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Android: Get the preferred Abi from apk & deviceBogDan Vatra2019-11-291-2/+16
| | | | | Change-Id: I47325aaec0575dde0e9c9669e61248dac753c670 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* improve codeTim Jenssen2019-11-121-2/+2
| | | | | Change-Id: I06c7274c39f7e369d4cd9bed0c1ef77e4bc08b35 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* BaseQtVersion: remove qmakeProperty(...) getterTobias Hunger2019-10-011-6/+5
| | | | | | | | | | | | Qt 6 will not use qmake to identify a Qt version, so this can not be part of the public interface of BaseQtVersion anymore. Provide getters for the information actually read via qmakeProperty(...). Use the getters whenever possible. Change-Id: Iadbee80b75e4f8b06caf90e7ed69fae2029b4dd7 Reviewed-by: hjk <hjk@qt.io>
* Android: Move logic to trigger AndroidManager::updateGradlePropertieshjk2019-10-011-2/+11
| | | | | | | | | | | | | | | | | Previously, AndroidManager::updateGradleProperties operated always on a project node found using target->activeRunConfiguration() which might or might not be the one that will actually be used after the build. This here still does not address the problem that the activeRunConfiguration may change but introduces a way to specify the relevant node, and tries to use the right one when available. At some time, this could be developed into a real solution, e.g. by invalidating the cache on build key changes. Change-Id: I37a3d73e9ad3615025e4def2493f683d11add3c6 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android multi arch supportBogDan Vatra2019-09-161-39/+93
| | | | | | | [ChangeLog][Android] Android multi arch support for qmake Change-Id: Ib8b1874604a3392130c96fbc00b26713b3d788ae Reviewed-by: hjk <hjk@qt.io>
* Android: Add Android 10BogDan Vatra2019-08-281-1/+3
| | | | | Change-Id: I72822b9411f95e868082cf2a5aec885bd809213a Reviewed-by: hjk <hjk@qt.io>
* Android: Rename ANDROID_TOOLCHAIN_ID to ANDROID_TOOLCHAIN_TYPEIDhjk2019-06-141-1/+1
| | | | | | | That's what it is, and it's the only odd one out currently. Change-Id: If098e2691b9f88fbd5f516cf869e390f43b9ddfa Reviewed-by: BogDan Vatra <bogdan@kdab.com>