From 77fa44ca8f430ca0a4465cd868f552223314f95c Mon Sep 17 00:00:00 2001 From: rankun Date: Fri, 12 Jul 2019 10:53:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AE=8C=E5=96=84=E8=8E=B7=E5=8F=96ip?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtScrcpy/adb/adbprocess.cpp | 20 ++++++++++++++++---- QtScrcpy/dialog.cpp | 11 +++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/QtScrcpy/adb/adbprocess.cpp b/QtScrcpy/adb/adbprocess.cpp index 7eb4e2c..68ff7d9 100644 --- a/QtScrcpy/adb/adbprocess.cpp +++ b/QtScrcpy/adb/adbprocess.cpp @@ -62,14 +62,16 @@ void AdbProcess::initSignals() connect(this, &QProcess::readyReadStandardError, this, [this](){ - m_errorOutput = QString::fromLocal8Bit(readAllStandardError()).trimmed(); - qWarning(QString("AdbProcess::error:%1").arg(m_errorOutput).toUtf8()); + QString tmp = QString::fromLocal8Bit(readAllStandardError()).trimmed(); + m_errorOutput += tmp; + qWarning(QString("AdbProcess::error:%1").arg(tmp).toUtf8()); }); connect(this, &QProcess::readyReadStandardOutput, this, [this](){ - m_standardOutput = QString::fromLocal8Bit(readAllStandardOutput()).trimmed(); - qInfo(QString("AdbProcess::out:%1").arg(m_standardOutput).toUtf8()); + QString tmp = QString::fromLocal8Bit(readAllStandardOutput()).trimmed(); + m_standardOutput += tmp; + qInfo(QString("AdbProcess::out:%1").arg(tmp).toUtf8()); }); connect(this, &QProcess::started, this, @@ -125,12 +127,22 @@ QStringList AdbProcess::getDevicesSerialFromStdOut() QString AdbProcess::getDeviceIPFromStdOut() { QString ip = ""; +#if 0 QString strIPExp = "inet [\\d.]*"; QRegExp ipRegExp(strIPExp,Qt::CaseInsensitive); if (ipRegExp.indexIn(m_standardOutput) != -1) { ip = ipRegExp.cap(0); ip = ip.right(ip.size() - 5); } +#else + QString strIPExp = "inet addr:[\\d.]*"; + QRegExp ipRegExp(strIPExp,Qt::CaseInsensitive); + if (ipRegExp.indexIn(m_standardOutput) != -1) { + ip = ipRegExp.cap(0); + ip = ip.right(ip.size() - 10); + } +#endif + return ip; } diff --git a/QtScrcpy/dialog.cpp b/QtScrcpy/dialog.cpp index afca0c1..7a566b3 100644 --- a/QtScrcpy/dialog.cpp +++ b/QtScrcpy/dialog.cpp @@ -45,6 +45,11 @@ Dialog::Dialog(QWidget *parent) : if (!ip.isEmpty()) { ui->deviceIpEdt->setText(ip); } + } else if (args.contains("ifconfig") && args.contains("wlan0")) { + QString ip = m_adb.getDeviceIPFromStdOut(); + if (!ip.isEmpty()) { + ui->deviceIpEdt->setText(ip); + } } break; } @@ -207,6 +212,7 @@ void Dialog::on_getIPBtn_clicked() // or // adb -s P7C0218510000537 shell ip -f inet addr show wlan0 QStringList adbArgs; +#if 0 adbArgs << "shell"; adbArgs << "ip"; adbArgs << "-f"; @@ -214,6 +220,11 @@ void Dialog::on_getIPBtn_clicked() adbArgs << "addr"; adbArgs << "show"; adbArgs << "wlan0"; +#else + adbArgs << "shell"; + adbArgs << "ifconfig"; + adbArgs << "wlan0"; +#endif m_adb.execute(ui->serialBox->currentText().trimmed(), adbArgs); }