Easy to do and makes the dialog feel marginally nicer.
Task-number: QTCREATORBUG-13123
Change-Id: I64098f1fd751100d40227c298a9e7eb358552bfb
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Two major areas of improvement:
- Make connections last, so that the initial setup does not trigger any
unnecessary checks.
- Make fetching the list of android virtual devices a background
operation.
Together they reduce the time needed to open the settings for me by
roughly 10 times.
Task-number: QTCREATORBUG-13735
Change-Id: I0839853dcdbdfe20a183a27888e55d3c56a9b815
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Debug Deployment broke with Android 5. Also show Android 5 devices
as incompatible in the device dialog if we are using debug deployment.
Task-number: QTCREATORBUG-13419
Change-Id: Ic321cfa46eb724f87f338af9c4b50face06c7c06
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
We need to pass -force32bit on that platform.
Change-Id: Ib2e205c7147fc573ad20467429a08f47b774b94f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@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>
- 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>
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>
The check for errors was wrong and didn't even get the right string.
Fix that, and also use a QMessageBox for the errors.
Task-number: QTCREATORBUG-11729
Change-Id: I9aecd1dcbeabb35d60833419f7997ea4c704d65b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Create the device first, as otherwise no kits are generated and
create toolchains next. This should fix that the AndroidPotentialKit
doesn't vanish in some cases.
Change-Id: Ia9141f72a146da157dc713c1e2f293747fa369bd
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
Make it possible to create multiple AndroidConfigs so that we can have
a different one in the settings dialog from the global one. Move pretty
much every method from AndroidConfigurations to AndroidConfig, so that
the settings dialog can work with its copy. Also add some additional
logic to the settings page around the java setting. To start the avd
manager we need both a sdk path and a java path. Also do some basic
additional checking of the java path.
Task-number: QTCREATORBUG-7724
Task-number: QTCREATORBUG-10936
Task-number: QTCREATORBUG-10937
Task-number: QTCREATORBUG-11059
Task-number: QTCREATORBUG-11218
Change-Id: I148c69b9c98a8a070d17d9b0e223d01db1750e69
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
See the below task for details:
Task-number: QTCREATORBUG-10575
Change-Id: I7756d8780b33ede4c3d4eac7e281c9eabfa47e35
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Now takes a QFutureInterface to enable canceling and beautify the code
by splitting it up.
Change-Id: Ifedf19c3ad1a37a9b7cb6b7db8ec799ceebc5392
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
So that the function can be reused by waitForAvd.
Change-Id: I0b7a86a13bf6a5f5b16d1d1cab362e7200a9a26f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Note, that we don't know the names of the started avds, so we look
for a avd that has the same abi and apiLevel.
Task-number: QTCREATORBUG-10411
Change-Id: I5f6ff3ee0dddcf2bb8fca981ccedf437e32da677
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Also rename/change highestAvailablePlatform to highestAvailableSdk.
This fixes a bug reported on irc, where the lists for sdk and ndk
were different and the highestAvailablePlatform was not available
as in the sdk.
Change-Id: I17fec9e8ce1913e933ddcf8eaa21d6bb6e14c5be
Reviewed-by: BogDan Vatra <bogdan@kde.org>
The available platforms in the ndk might not be the same as in the sdk.
This patch is renames everything using the ndk platform list to
ndkPlatforms, except the highestAvailablePlatform which wrongly uses
the ndk platform list.
Change-Id: I02d9b68bbc27b0c748281678fe654d5f4244578d
Reviewed-by: BogDan Vatra <bogdan@kde.org>
For now just show that in the compile output.
Change-Id: I332a8cae5653155175abfb1a4877ca1ca7cce8d5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This cleans up various bits of the avd support in Creator.
- Adds a abi combobox to the create avd dialog.
- Moves the startAvd code into a separate thread, so that
starting a avd while deploying doesn't block creator anymore.
- Implements a better waitForAvd function that works even
if a emulator is already running and accurately can
detect that it has finished booting.
Note: There are still many problems in the avd support in creator.
- The "clean libs on device" and "install qasi" functionality block
the gui thread if they are run on a avd.
- If no avd exists and no suitable hardware is attached, the user gets
a create Avd dialog, which doesn't tell him why he needs to create a
avd. That information is hidden in the compile output.
Still this fixes the main use case of hitting run on a newly created
project with no actual device attached.
Change-Id: I76b3fdb1bdf3eadac07f82ad7d145ce6af453326
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Both callers do filtering on the api level afterwards, so it pratically
serves no purpose.
Change-Id: I8f54f9050a66185a3799ea5b5446dec935d2d5ac
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
The sdk should set that extra directory, via the sdktool.
E. g. something like
sdktool addKeys android MakeExtraSearchDirectory QString:%DIRECTORY%
where %DIRECTORY% is the bin directory of the bundled mingw.
That is Tools\MinGW\bin for the qt sdk.
Also see:
Task-number: QTCREATORBUG-9297
Change-Id: I487c67b7fb704dd00cf5c6f4f647c8c4fbe8cd3d
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Currently the Android plugin only checks for the linux-x86 prebuilds in the
64-bit Android NDK (and mingw-and-ndk), this means Qt Creator goes bonkers
because it can't find the toolchain and debugger for the kits it
auto-detects/creates.
A work around is to symlink linux-x86_64 to linux-x86 in every toolchain.
Change-Id: I04522b65ef48b6090a9f6925e8e3420ad1d333ee
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>