The timeout was "only" 4s, but apparently pretty much every
android tool randomly takes longer than 4s.
Increasing this timeout won't affect anyone for whom the
android tool returns in 1s, but makes it work for anyone
where the checking takes longer.
This waiting though is done in the main thread, which is pretty
bad. Moving it to a background thread isn't easy though.
Change-Id: I135b1d1ee9634005d5eb6038a46d66b6a8e97fca
Task-number: QTCREATORBUG-13175
Reviewed-by: BogDan Vatra <bogdan@kde.org>
We used to only identify the avd by api level and abi. That was
obviously incorrect, but at the time I didn't know how to get
the actual avd name from a running emulator.
Turns out this is reasonable easy via telnet on the emulator port.
Change-Id: I387901a5294674f44399c0726abcc9feea221e8d
Task-number: QTCREATORBUG-13095
Reviewed-by: BogDan Vatra <bogdan@kde.org>
This avoids unnecessary detaches of the Qt container data.
The mismatches where detected by defining QT_STRICT_ITERATORS;
however, this define violates the ODR (causing linker errors),
and therefore is not added permanently.
Change-Id: Idd336a9c8b394214a820437ef1b92d2101f6101c
GPush-Base: 62b0848b9c
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Introduce the class AndroidQmakeBuildConfiguration whose purpose is
to set the environment variable. Modify the Factory to create
buildconfigurations of that type and fix restore/clone to also
take the factories' priorities into account.
Change-Id: Icb377fa9211cd3564c36b60cf7c5f7dd84fcab50
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>
This can use the faster route through QFileInfo::exist now.
Change-Id: Idb41b5d5185d7f02eacba498fb01f483d95e8d57
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.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>
Less typing and less cycles than join(QString) where appropriate
Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@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>
Introudce AndroidQtSupport. The derived class will eventually move to
the qmakeprojectmanager plugin.
Change-Id: I3fdc98259644fe718eb15aa9bd11d92dc0cdb1af
Reviewed-by: BogDan Vatra <bogdan@kde.org>
That's unlikely to be the final name, but introduce it for now.
Change-Id: Iaf1fd65e797a2354433b9bb5af6a6d76ecb8409c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
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>
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>
The function's operation of simply appending the string as is would be
fine if FileNames were strings. But they aren't, so the function name
should be intentionally ugly to stand out.
Change-Id: I85e16844e2d69cacb6566c538182b84300c45161
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Such a long timeout isn't nice since this is run in the gui thread.
But better than failing and typically it shouldn't need to block for
4s.
Task-number: QTCREATORBUG-10944
Change-Id: I1d3f842de8119603fa165878a14afc96a04c0c2a
Reviewed-by: Eike Ziller <eike.ziller@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 the build directory is by default android-build, so by default the
source and build directory don't clash anymore.
Task-number: QTCREATORBUG-10661
Change-Id: I054bd3790f9bc9720536aac301bee192cb9f0429
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
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>
besdtMatch finds a ndk version that is at most the targetApi passed into it.
Since we are passing in the fallback and lowest possible api level that qt
supports, the function would return at most the lowest supported version.
That's not very useful and cannot have worked, so simpy return the fallback
version directly.
Change-Id: I5e4757639099af4d207f928b0335d28efd75a02b
Reviewed-by: BogDan Vatra <bogdan@kde.org>