androiddeplyqt does not deploy gdbserver anymore, since Qt 5.14.
Therefore the gdbverver deployment of Qt Creator is triggered for all
devices, some of which do not support the symbolic chmod parameters
(e.g. +x).
Change-Id: I66e9fabeb0da4a1a3693c655a085d81c15f9d263
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
The pid script was wrongly quoted on Windows resulting in not having
logcat ability, and no debugging.
Change-Id: Ica40d033b61b69bb2372f54f0eba19ae1d2e3c9f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Only used once, and that use can be replaced.
Change-Id: I844254dfff9bb2b2c9c56ecbd56d2af2241fd2d8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
For a long time, probably from the very beginning, a RunControl
was meant to hold (a copy of) data needed for its operation, that was
valid at the time of its construction, to be resilient in cases
where RunConfiguration setting were changed while the RunControl
was running, or to properly re-run with the original settings.
Unfortunately, the task was repetitive, as RunConfiguration
classes had no generic access to properties / "aspects"
and there was was the runConfiguration() accessor (probably
for mostly unrelated reasons in the output pane handling) which
made the idea of just casting that to the original runConfiguration
and access the data directly there appealing, with all the
expected consequences.
This patch here partially addresses the issue by copying some
more of the related data at RunControl construction time and
adjust the using code, avoiding most uses of the runConfiguration()
accessor in a mostly mechanical matter.
Complete removal appears possible, but will be less mechanical
in "difficult" plugins like ios, so this is left for later.
The new accessors in RunControl are very much ad-hoc, leaving
room for improvement, e.g. by consolidating the access to the
run config settings aspects with the other runconfig aspects
or similar. For now the goal is to remove the runConfiguration()
accessor, and to as much as possible fixed data after RunControl
setup is finished.
Next step would be to officially allow construction of RunControls
without a specific RunConfiguration by setting the necessary
data independently, removing the need for the various workarounds
that are currently used for the purpose of faking (parts of) the
effect of the non-existing RunConfiguration or refusing to operate
at all, even if it would be possible.
Change-Id: If8e5596da8422c70e90f97270389adbe6d0b46f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The name "KitInformation" does not properly convey the fact that it
represents a certain *aspect* of a kit. The same goes for
"KitConfigWidget", which in addition was inconsistent with
"KitInformation".
We now use "KitAspect" and "KitAspectWidget".
Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97
Reviewed-by: hjk <hjk@qt.io>
The gdbserver is not uploaded to device for armv7 as lib symlink
is available and we can use the gdbserver packaged with the apk
Task-number: QTCREATORBUG-21317
Change-Id: I263eb48bbf3cf05b969db934a928185dba10373b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Since Qt 5.12.0 we don't use qmljsdebugger extra intent param anymore
and we need to pass qmljsdebugger to the application arguments.
Fixes: QTBUG-72132
Change-Id: Icefb75e94027b145832c114fd90579bd10bcb898
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Uploading a binary file had been remade using base64
encoding, but base64 tool is not available on older
devices.
Fallback to the old approach of relying on the
symlinked lib folder that contains a gdbserver if
the upload failed.
Task-number: QTCREATORBUG-21317
Task-number: QTCREATORBUG-21547
Change-Id: I54539d8912b1722bb799068c33e7a9175699ff70
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Passing binary data through a pipe may break as soon it hits
a control sequence. Encode binary data before piping and
decode it on the device before writing to file.
Fixes: QTCREATORBUG-21547
Change-Id: Iddef5582631575fdd2091c3795d2468be10b8c74
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Quoting of arguments on Windows behaves differently
depending on the used start() overload of QProcess.
Setting the program and arguments before calling start()
with only the QIODevice::OpenMode parameter allows to
preserve the wanted quoting.
Task-number: QTCREATORBUG-21547
Done-with: Oliver Wolff <oliver.wolff@qt.io>
Change-Id: I644ea0737d51d6114facb19a0ad70f10aeb79f2c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Instead, set the default level of all logs to QtWarningMsg.
The call to setFilterRules overrides the user preferences in qtlogging.ini.
Change-Id: Id5f6cd550d14ff7f45ae04c5d3110e0bafb0f072
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Refactor the code to use adb from AndroidManager, do cleanup
and improve logging
Change-Id: I77b682d37c9328e6aa978eaf05b3b5c131907f09
Reviewed-by: hjk <hjk@qt.io>
On Android 64, there is no lib/ symlink anymore, so we need to upload
gdbserver from QtCreator.
Change-Id: Ib6f6d9b623dc61b72dd434ce1b3b409e880bdeaa
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Using aspects is the standard pattern nowadays, there's nothing 'extra'
to them anymore.
Change-Id: I446f9d7b1db58a4899e5e44df33ce51f655e7be4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This fixes the problem where gdb fails to connect to the gdbserver on
Android with API > 23
Task-number: QTCREATORBUG-20583
Change-Id: Ia581f8ae5dd6d819ac5ffedf633d1423e9e30074
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
IPv6 enabled systems can have IPv4 and an IPv6 entry for localhost
and macos seems to prefer IPv6 for localhost and IPv6 is not
supported by adbd
Task-number: QTCREATORBUG-20730
Change-Id: Ia0823fa04581afc6297e5e8d57a8034ba1b5749c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
That was the only remaining field of the AndroidRunnable, passing
the packageName as single string is sufficient.
Change-Id: I73333e58a0719df09d6905eb212007ce421f600e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
We have nowadays two ways to pass data from run configurations to
tool that do not require intimate knowledge of the sender:
1. Using RunConfigurationAspects, accessible for all workers in a
RunControl
2. Using RunWorker::recordData for an individual worker.
This removes the need to use specific fields in a runnable and
means that a tool plugin can be better separated from target plugins.
The approaches are not mutually exclusive, both use an string-ish
id, I chose here to use the same string when using both.
This patch here uses approach 2. for the GammaRay/Android combo.
It also fixes a (harmless) typo (s/POSTSTART/POSTFINISH).
Change-Id: I4048693ca73b17253a39bfcacc9e1880ecf25736
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>