mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-07-28 03:38:38 +00:00
update:解决device连接本地服务失败(SOCKET_NAME 和server_jar不匹配)
This commit is contained in:
parent
ebc0ef2652
commit
b54b1e01d2
4 changed files with 17 additions and 8 deletions
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.6.2, 2018-10-11T09:21:46. -->
|
<!-- Written by QtCreator 4.6.2, 2018-10-11T13:13:22. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
<value type="QByteArray">{49c3991c-71bb-4f46-826d-1d1cf5cba2d4}</value>
|
<value type="QByteArray">{37b22fe7-3e02-43d3-85e3-251a3ebe4093}</value>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
|
|
@ -40,6 +40,7 @@ void AdbProcess::initSignals()
|
||||||
if (NormalExit == exitStatus && 0 == exitCode) {
|
if (NormalExit == exitStatus && 0 == exitCode) {
|
||||||
emit adbProcessResult(AER_SUCCESS);
|
emit adbProcessResult(AER_SUCCESS);
|
||||||
} else {
|
} else {
|
||||||
|
//P7C0218510000537 unauthorized ,手机端此时弹出调试认证,要允许调试
|
||||||
emit adbProcessResult(AER_ERROR_CMD);
|
emit adbProcessResult(AER_ERROR_CMD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +50,7 @@ void AdbProcess::initSignals()
|
||||||
|
|
||||||
connect(this, &QProcess::errorOccurred, this,
|
connect(this, &QProcess::errorOccurred, this,
|
||||||
[this](QProcess::ProcessError error){
|
[this](QProcess::ProcessError error){
|
||||||
if (QProcess::FailedToStart == error) {
|
if (QProcess::FailedToStart == error) {
|
||||||
emit adbProcessResult(AER_ERROR_MISSING_BINARY);
|
emit adbProcessResult(AER_ERROR_MISSING_BINARY);
|
||||||
} else {
|
} else {
|
||||||
emit adbProcessResult(AER_ERROR_START);
|
emit adbProcessResult(AER_ERROR_START);
|
||||||
|
@ -83,7 +84,7 @@ void AdbProcess::execute(const QString& serial, const QStringList& args)
|
||||||
adbArgs << "-s" << serial;
|
adbArgs << "-s" << serial;
|
||||||
}
|
}
|
||||||
adbArgs << args;
|
adbArgs << args;
|
||||||
qDebug() << adbArgs.join(" ");
|
qDebug() << getAdbPath() << adbArgs.join(" ");
|
||||||
start(getAdbPath(), adbArgs);
|
start(getAdbPath(), adbArgs);
|
||||||
//start("C:\\Users\\Barry\\Desktop\\sockettool.exe", Q_NULLPTR);
|
//start("C:\\Users\\Barry\\Desktop\\sockettool.exe", Q_NULLPTR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
|
||||||
qputenv("QTSCRCPY_ADB_PATH", "C:\\Users\\Barry\\Desktop\\scrcpy-win64\\adb.exe");
|
qputenv("QTSCRCPY_ADB_PATH", "G:\\mygitcode\\QtScrcpy\\src\\adb.exe");
|
||||||
qputenv("QTSCRCPY_SERVER_PATH", "G:\\mygitcode\\QtScrcpy\\src\\scrcpy-server.jar");
|
qputenv("QTSCRCPY_SERVER_PATH", "G:\\mygitcode\\QtScrcpy\\src\\scrcpy-server.jar");
|
||||||
|
|
||||||
Dialog w;
|
Dialog w;
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
|
|
||||||
#define DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar"
|
#define DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar"
|
||||||
#define SOCKET_NAME "qtscrcpy"
|
//#define SOCKET_NAME "qtscrcpy" //jar需要同步修改
|
||||||
|
#define SOCKET_NAME "scrcpy"
|
||||||
|
|
||||||
Server::Server(QObject *parent) : QObject(parent)
|
Server::Server(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
|
@ -15,8 +16,11 @@ Server::Server(QObject *parent) : QObject(parent)
|
||||||
connect(m_deviceSocket, &QTcpSocket::disconnected, m_deviceSocket, &QTcpSocket::deleteLater);
|
connect(m_deviceSocket, &QTcpSocket::disconnected, m_deviceSocket, &QTcpSocket::deleteLater);
|
||||||
//connect(m_deviceSocket, &QTcpSocket::error, m_deviceSocket, &QTcpSocket::deleteLater);
|
//connect(m_deviceSocket, &QTcpSocket::error, m_deviceSocket, &QTcpSocket::deleteLater);
|
||||||
connect(m_deviceSocket, &QTcpSocket::readyRead, this, [this](){
|
connect(m_deviceSocket, &QTcpSocket::readyRead, this, [this](){
|
||||||
qDebug() << "ready read";
|
static quint64 count = 0;
|
||||||
m_deviceSocket->readAll();
|
qDebug() << count << "ready read";
|
||||||
|
count++;
|
||||||
|
QByteArray ar = m_deviceSocket->readAll();
|
||||||
|
//m_deviceSocket->write(ar);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -122,6 +126,8 @@ bool Server::execute()
|
||||||
// }
|
// }
|
||||||
// sender()->deleteLater();
|
// sender()->deleteLater();
|
||||||
// });
|
// });
|
||||||
|
// adb -s P7C0218510000537 shell CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 0 8000000 false
|
||||||
|
// 这条adb命令是阻塞运行的,workProcess不会退出了
|
||||||
m_workProcess.execute(m_serial, args);
|
m_workProcess.execute(m_serial, args);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -164,6 +170,8 @@ void Server::connectTo()
|
||||||
bool success = false;
|
bool success = false;
|
||||||
if (m_tunnelForward) {
|
if (m_tunnelForward) {
|
||||||
if (m_deviceSocket->isValid()) {
|
if (m_deviceSocket->isValid()) {
|
||||||
|
// connect will success even if devices offline, recv data is real connect success
|
||||||
|
// because connect is to pc adb server
|
||||||
QByteArray ar = m_deviceSocket->read(1);
|
QByteArray ar = m_deviceSocket->read(1);
|
||||||
if (!ar.isEmpty()) {
|
if (!ar.isEmpty()) {
|
||||||
success = true;
|
success = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue