aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2018-07-05 08:13:08 +0200
committerVikas Pachdha <vikas.pachdha@qt.io>2018-07-06 06:07:22 +0000
commitd9bcf78270b51ee8ca2355c603519fc18c52515d (patch)
tree15924b3404bcbab57e7773dc8c070c28eed69b43 /src
parentad11e08f7288a156d76cf3f8aa0c931c67824efc (diff)
Android: Use ipv4 host to connect to app in android
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>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/android/androiddebugsupport.cpp6
-rw-r--r--src/plugins/android/androidrunner.cpp2
-rw-r--r--src/plugins/android/androidrunnerworker.cpp3
3 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp
index 11fabdccfd..84ed1bf52d 100644
--- a/src/plugins/android/androiddebugsupport.cpp
+++ b/src/plugins/android/androiddebugsupport.cpp
@@ -44,6 +44,7 @@
#include <utils/hostosinfo.h>
#include <QDirIterator>
+#include <QHostAddress>
using namespace Debugger;
using namespace ProjectExplorer;
@@ -131,7 +132,10 @@ void AndroidDebugSupport::start()
+ "/app_process");
setSkipExecutableValidation(true);
setUseExtendedRemote(true);
- setRemoteChannel(":" + m_runner->gdbServerPort().toString());
+ QUrl gdbServer;
+ gdbServer.setHost(QHostAddress(QHostAddress::LocalHost).toString());
+ gdbServer.setPort(m_runner->gdbServerPort().number());
+ setRemoteChannel(gdbServer);
setSysRoot(AndroidConfigurations::currentConfig().ndkLocation().appendPath("platforms")
.appendPath(QString("android-%1").arg(AndroidManager::minimumSDK(target)))
.appendPath(toNdkArch(AndroidManager::targetArch(target))).toString());
diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp
index 4ea111aeb3..06475a3118 100644
--- a/src/plugins/android/androidrunner.cpp
+++ b/src/plugins/android/androidrunner.cpp
@@ -34,6 +34,7 @@
#include "androidavdmanager.h"
#include "androidrunnerworker.h"
+#include <QHostAddress>
#include <coreplugin/messagemanager.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorersettings.h>
@@ -197,6 +198,7 @@ void AndroidRunner::qmlServerPortReady(Port port)
// device side. It only happens to work since we redirect
// host port n to target port n via adb.
QUrl serverUrl;
+ serverUrl.setHost(QHostAddress(QHostAddress::LocalHost).toString());
serverUrl.setPort(port.number());
serverUrl.setScheme(urlTcpScheme());
emit qmlServerReady(serverUrl);
diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp
index d4bb5cc899..39239bf642 100644
--- a/src/plugins/android/androidrunnerworker.cpp
+++ b/src/plugins/android/androidrunnerworker.cpp
@@ -166,8 +166,7 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
QTC_CHECK(m_localGdbServerPort.isValid());
if (m_qmlDebugServices != QmlDebug::NoQmlDebugServices) {
QTcpServer server;
- QTC_ASSERT(server.listen(QHostAddress::LocalHost)
- || server.listen(QHostAddress::LocalHostIPv6),
+ QTC_ASSERT(server.listen(QHostAddress::LocalHost),
qDebug() << tr("No free ports available on host for QML debugging."));
m_qmlServer.setScheme(Utils::urlTcpScheme());
m_qmlServer.setHost(server.serverAddress().toString());