On some machines adb takes a longer than 5s to finish. The reasons for
that are unknown.
Change-Id: I949dc40b8f407aa98be0456df47a9ebe88e230a5
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>
-1 is not a valid unsigned value.
registerhandler.cpp(354): warning #68: integer conversion resulted in a change of sign
return createIndex(row, col, TopLevelId);
^
Change-Id: I41935255704f19724d6cec16ea470e2f8f8a16a1
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
It's invalid to call it if no previous function returned an error. Don't
rely on undefined behavior. Instead, simply check if waitForFinished()
returned false, which is what this code intended to do anyway.
Change-Id: I67903ba65e86ff1d1810481b2bd5724ab99a4b76
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
That waits forever. For processes that should finish in a reasonable
time, we should not wait forever. I changed most of the waits to 5s,
all of those functions do handle a failed waitForFinished. I doubt
that all callers do also handle it correctly, but that's probably
still better than waiting forever.
Task-number: QTCREATORBUG-10868
Change-Id: I368a911f19a4f81d71b24cf9d58796bd99878040
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>
There are 3 different sdk settings:
- The minimum sdk setting from the AndroidManifest.xml
- The target sdk setting from the AndroidManifest.xml
- The target sdk setting from the project.properties file
The last one is now called buildTargetSDK, since it only affects the
build.
Change-Id: I373d925a45088ff0cf8a8e0b22cf9744e571eeb1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
These are not build system issues and deserve their own category.
This has the side effect of avoiding them to get cleared when e.g.
reparsing Qbs files.
Change-Id: Ib949504533f7f15a560796bea91cae329f19a20b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@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>
This allows the caller to do that as a fallback.
Change-Id: Ifd50036317c7df4fe77fc34ea0f616c07611a517
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
One QProcess per run of clean libs
Change-Id: Idcf6155e71ca5cec7cb4be1509191ba49c69cefd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
If the Qt version built against is Qt 5, and the deployment
method is "Use libs on device" + "Use local Qt libs", Creator
will copy the required files into the app bundle and set
the necessary meta-data to make the Java code in the app
actually load them from the app bundle.
We also make this deployment method the default on Qt 5.
Change-Id: Ib7a33e7d1fbd22f76c85c31e1dbc68912a38eda8
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Also since the deploystep runs in the background do not force a mode
switch.
Change-Id: I5deb4eb09f331e31d153f828ebadfa3ae4387ac2
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The old way of passing the use_local_libs settings to the
app (which is still supported for compatibility with Necessitas)
was to pass it as command line arguments when the app is
launched from Qt Creator. This will make the app depend on
Ministro if it's later launched from the Android launcher.
To avoid this, we pass the info as part of AndroidManifest.xml
instead.
Task-number: QTCREATORBUG-8643
Change-Id: Ib044ce8bf7e285cf46075a8713bd7fc6736052d5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Works only if no correctly detected devices attached to adb.
Sometimes serial number becomes '????-????-????' on linux because udev
rules are not configured, handling them without configuring will be
useful.
Also i have 2 phones that have no serial number at all on stock rom.
Serial number disappears on some smartphones with CyanogenMod
http://forum.cyanogenmod.org/topic/64522-i-have-no-serial-number/
Change-Id: I1a992eb2537342934c60d79c9180edd955aa7862
Reviewed-by: BogDan Vatra <bogdan@kde.org>
In Qt 5 we have modularized the rules files so that each module
specifies its own rules. This patch updates the plugin to support
reading from these in addition to the rules.xml of Qt 4 so that
it should work well for both.
The "replaces" attribute of the lib element is also added in Qt 5
because the files are generated and thus the approach of rules.xml
where replaces is a separate element and where the order has
semantics was not convenient. We of course support the
Necessitas approach as well.
Change-Id: Ife21903c9faf61e1791cf8c0ea78bb61c74dcb34
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Creator now realiable creates one toolchain for each toolchain found in
the ndk. This no longer depends on any qt versions being present.
Also the gdb command and gdb server command are moved to the Kit and are
no longer found in the Android Options page. Both settings can be
autodetected from the Kit options page. Note that this might break
existing android kits.
Change-Id: I1dce084f2bb372e615e19b1c9e3a1e205b5d9647
Reviewed-by: BogDan Vatra <bogdan@kde.org>
It breaks the debugging on real devices.
Tested on HTC Desire HD and HTC Amaze.
This reverts commit 6fc9c0732b.
Change-Id: I378af345b186e1b4eef9997d3d8e592c43c3f1c4
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
On deploying, first check the timestamps of the files on the device,
and then only copy+strip+deploy the files that are newer.
Add a button for cleaning /data/local/tmp/qt as that is no longer
done on each deployment.
Task-number: QTCREATORBUG-8538
Change-Id: I93c4e6266d7d748b0a4735e00806282315227d4b
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>