Merge BuildApkInnerWidget into BuildApkWidget and simplify
layout structure. The inner .ui managed three of the groupboxes,
the outer added two more manually.
Change-Id: If4b54fa569952a9bb5eedb889a271827d8a88577
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Will help to streamline *EnvironmentAspect constructor signature,
which in turn will help to have a generic cloning mechanism to
clone aspect data, which in turn will help to finally execute on
the idea that RunControls should be re-runnable in their original
setup and also resilient to changes in the setup while they are
running.
Change-Id: Ibdaca487c1f7ce043e675fd014fe923a70273639
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Except for the DesktopDevice, which is kind of special. Also try
a bit to make (and partially fail at doing so) naming and code
structure (#include, use of namespaces) more similar to each other.
Change-Id: I9fe266e706b72c14f59ff03ca1ae02dba3adcc71
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Remove the nested QGroupBox, inline code into only callers, etc.
Also use better display name for deploy step widget.
Change-Id: I579810c04dea032a98ba28db6de035048f801f75
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
... 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>
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>
It doesn't explicitly need the qtSupport indirection anymore.
Change-Id: I25f0649a3b7760fdef3b62097ac55341e6b16fe4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Instead of having the full class build-system dependent,
by relying on four more AndroidQtSupport functions for now.
Change-Id: I26842f3ec70b875ba4481ae36d8c85f86366cb88
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
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>
There's nothing Qmake related in there (anymore?).
Change-Id: I8842d4824065cf3cba61d50b6f333ec3b52e3851
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
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>
Let user specify list of shell commands to run before app starts
and after app quits.
Change-Id: I9794fb96180530ca6c28ce6581fda51a25be28d4
Reviewed-by: hjk <hjk@qt.io>
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>
android tool is deprecated since sdk tools version 25.3.0.
Use the new sdkmanager tool
Task-number: QTCREATORBUG-17814
Change-Id: I96446f5a64c1c400066b4ac7771c8c7e1bf567ed
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Refactor the use of android tool and groundwork for the new sdk
and avd management tool's integration
Task-number: QTCREATORBUG-17814
Change-Id: I6a5920f9ba92508f904cd8cf28bf62c82de2d820
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
dynamic_cast<> breaks in cross-library situations. In the past
the issue was witnessed on Mac, this time on FreeBSD in
various configurations.
The workaround deployed here is to manually create unique
type ids in form of (addresses of) global variables.
Task-id: QTCREATORBUG-16462
Change-Id: Ie28fbb3d31d06c1a722a3d9ea808831191298e71
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Ralf Nolden <nolden@kde.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Using the AndroidRunnable is easy for other plugins to run custom adb
commands before intent is started and after it's stopped.
Change-Id: I012ae87c92cea16aa8074dce2dc6f2b0c4ebeb30
Reviewed-by: hjk <hjk@theqtcompany.com>
Switching from Ant to Gradle brings lots of advantages:
- it is way faster when rebuilding (25-50% faster than ant).
- it enables first class Android Studio integration.
- adding Android Extras libs (e.g. Google Play services, OBB, etc.) to
your project is now painless.
[ChangeLog][Android] Added Gradle support to build the APK.
Change-Id: Iee492954f8ffb2c22e6ab14a8a25faf644de9a51
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The common base class contains only unused functionality.
Change-Id: I5f6db59a2972d6ab8383ce209937090cd46ae39d
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Merge editor files, convert to new editor setup scheme.
Change-Id: Ie498ac5dcb1efc288e55082a285e6daada6b5ebf
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
- Split up androiddeployqt into two steps: One building the apk,
and one deploying it to the device.
- The build apk step base class AndroidBuildApkStep is ihneritaged by
the qmake specific class QmakeAndroidBuildApkStep.
- The deployment step is still called androiddeployqt
- Move all qmake specific code to the qmakeprojectmanager plguin
- Flip the depencency between the android and qmake plugin, now
the qmake plugin depends on the android plugin, implementing
a interface the android plugin provides.
- Note: This removes the debug deployment for now.
Change-Id: I1c386640159ed14b637668abde8eb3b9009ab803
Reviewed-by: BogDan Vatra <bogdan@kde.org>
The plan is to eventually move the qmake specific class into the
qmake plugin.
Change-Id: I5653c45ed88b1be296f4963ab4117bbfa791fb85
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Introudce AndroidQtSupport. The derived class will eventually move to
the qmakeprojectmanager plugin.
Change-Id: I3fdc98259644fe718eb15aa9bd11d92dc0cdb1af
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Filter the list of api levels to only show those that can be created.
Change-Id: I7aaaa58324ca44176e39982cda29d746011fa346
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Indentation for blocks '{'. '}' and completion for keywords.
TODO: "New File" is missing,
TODO: probably needs some tweaks to the indentation.
Task-number: QTCREATORBUG-11220
Change-Id: I758b3815e47d1427d39c0248eb16e39ffb7a29fb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Allows to kill and interrupt remote processes with the pid.
Change-Id: I22befc04dafbe2a7f132bddb3e17a2b48579ef3c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Add a list view to the deployment settings which allows you
to add and remove libraries from the ANDROID_EXTRA_LIBS
variable in the .pro file.
Task-number: QTCREATORBUG-9849
Change-Id: Ic0131c46be8fdef4b226b5ceb0ee82ea4dd82c6a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The AndroidManifest.xml is no longer needed in as many use cases as
before. So the new deployment does not automatically create a
android manifest. Offer a button on the deployment page to create
a android manifest. This also edits the .pro file adding the
ANDROID_PACKAGE_SOURCE_DIR.
Change-Id: I2655dd6c96e2087732b4d7240b31fe9fcf168600
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
We want to give better feedback for installation problems and
other issues. There may still be undiscovered ways to mess up the
creator configuration, and we might find them after the string
freeze.
This adds a number of strings that we can use later.
We can add new error codes after the string freeze (and even in
patch releases). This means that even if we can't give people
detailed help for their problem in the UI, at least we give them
a googleable string.
We can then add better messages for the new errors in the next minor
release.
Change-Id: Ida7921fce5142d55144b0ba022de04726872187a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>