mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-20 03:25:02 +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"?>
|
||||
<!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>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{49c3991c-71bb-4f46-826d-1d1cf5cba2d4}</value>
|
||||
<value type="QByteArray">{37b22fe7-3e02-43d3-85e3-251a3ebe4093}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
|
|
|
@ -40,6 +40,7 @@ void AdbProcess::initSignals()
|
|||
if (NormalExit == exitStatus && 0 == exitCode) {
|
||||
emit adbProcessResult(AER_SUCCESS);
|
||||
} else {
|
||||
//P7C0218510000537 unauthorized ,手机端此时弹出调试认证,要允许调试
|
||||
emit adbProcessResult(AER_ERROR_CMD);
|
||||
}
|
||||
|
||||
|
@ -49,7 +50,7 @@ void AdbProcess::initSignals()
|
|||
|
||||
connect(this, &QProcess::errorOccurred, this,
|
||||
[this](QProcess::ProcessError error){
|
||||
if (QProcess::FailedToStart == error) {
|
||||
if (QProcess::FailedToStart == error) {
|
||||
emit adbProcessResult(AER_ERROR_MISSING_BINARY);
|
||||
} else {
|
||||
emit adbProcessResult(AER_ERROR_START);
|
||||
|
@ -83,7 +84,7 @@ void AdbProcess::execute(const QString& serial, const QStringList& args)
|
|||
adbArgs << "-s" << serial;
|
||||
}
|
||||
adbArgs << args;
|
||||
qDebug() << adbArgs.join(" ");
|
||||
qDebug() << getAdbPath() << adbArgs.join(" ");
|
||||
start(getAdbPath(), adbArgs);
|
||||
//start("C:\\Users\\Barry\\Desktop\\sockettool.exe", Q_NULLPTR);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ int main(int argc, char *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");
|
||||
|
||||
Dialog w;
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
#include "server.h"
|
||||
|
||||
#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)
|
||||
{
|
||||
|
@ -15,8 +16,11 @@ Server::Server(QObject *parent) : QObject(parent)
|
|||
connect(m_deviceSocket, &QTcpSocket::disconnected, m_deviceSocket, &QTcpSocket::deleteLater);
|
||||
//connect(m_deviceSocket, &QTcpSocket::error, m_deviceSocket, &QTcpSocket::deleteLater);
|
||||
connect(m_deviceSocket, &QTcpSocket::readyRead, this, [this](){
|
||||
qDebug() << "ready read";
|
||||
m_deviceSocket->readAll();
|
||||
static quint64 count = 0;
|
||||
qDebug() << count << "ready read";
|
||||
count++;
|
||||
QByteArray ar = m_deviceSocket->readAll();
|
||||
//m_deviceSocket->write(ar);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -122,6 +126,8 @@ bool Server::execute()
|
|||
// }
|
||||
// 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);
|
||||
return true;
|
||||
}
|
||||
|
@ -164,6 +170,8 @@ void Server::connectTo()
|
|||
bool success = false;
|
||||
if (m_tunnelForward) {
|
||||
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);
|
||||
if (!ar.isEmpty()) {
|
||||
success = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue