From 5abff3f5733b2aff9ea1cbdf968b7c10c7521bee Mon Sep 17 00:00:00 2001 From: rankun Date: Fri, 31 Jan 2020 19:00:10 +0800 Subject: [PATCH] feat: add server path to config --- QtScrcpy/device/server/server.cpp | 5 ++--- QtScrcpy/device/server/server.h | 4 ++-- QtScrcpy/util/config.cpp | 12 ++++++++++++ QtScrcpy/util/config.h | 1 + config/config.ini | 10 ++++++---- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/QtScrcpy/device/server/server.cpp b/QtScrcpy/device/server/server.cpp index 4f04f7f..c79ad83 100644 --- a/QtScrcpy/device/server/server.cpp +++ b/QtScrcpy/device/server/server.cpp @@ -8,7 +8,6 @@ #include "server.h" #include "config.h" -#define DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar" #define DEVICE_NAME_FIELD_LENGTH 64 #define SOCKET_NAME "scrcpy" #define MAX_CONNECT_COUNT 30 @@ -68,7 +67,7 @@ bool Server::pushServer() if (m_workProcess.isRuning()) { m_workProcess.kill(); } - m_workProcess.push(m_params.serial, getServerPath(), DEVICE_SERVER_PATH); + m_workProcess.push(m_params.serial, getServerPath(), Config::getInstance().getServerPath()); return true; } @@ -126,7 +125,7 @@ bool Server::execute() } QStringList args; args << "shell"; - args << QString("CLASSPATH=%1").arg(DEVICE_SERVER_PATH); + args << QString("CLASSPATH=%1").arg(Config::getInstance().getServerPath()); args << "app_process"; args << "/"; // unused; args << "com.genymobile.scrcpy.Server"; diff --git a/QtScrcpy/device/server/server.h b/QtScrcpy/device/server/server.h index 33a13ba..8c21172 100644 --- a/QtScrcpy/device/server/server.h +++ b/QtScrcpy/device/server/server.h @@ -82,8 +82,8 @@ private: QPointer m_controlSocket = Q_NULLPTR; bool m_tunnelEnabled = false; bool m_tunnelForward = false; // use "adb forward" instead of "adb reverse" - quint32 m_acceptTimeoutTimer = 0; - quint32 m_connectTimeoutTimer = 0; + int m_acceptTimeoutTimer = 0; + int m_connectTimeoutTimer = 0; quint32 m_connectCount = 0; quint32 m_restartCount = 0; QString m_deviceName = ""; diff --git a/QtScrcpy/util/config.cpp b/QtScrcpy/util/config.cpp index 649dccb..6009223 100644 --- a/QtScrcpy/util/config.cpp +++ b/QtScrcpy/util/config.cpp @@ -18,6 +18,9 @@ #define COMMON_SERVER_VERSION_KEY "ServerVersion" #define COMMON_SERVER_VERSION_DEF "1.12.1" +#define COMMON_SERVER_PATH_KEY "ServerPath" +#define COMMON_SERVER_PATH_DEF "/data/local/tmp/scrcpy-server.jar" + #define COMMON_MAX_FPS_KEY "MaxFps" #define COMMON_MAX_FPS_DEF 60 @@ -114,6 +117,15 @@ QString Config::getPushFilePath() return pushFile; } +QString Config::getServerPath() +{ + QString serverPath; + m_settings->beginGroup(GROUP_COMMON); + serverPath = m_settings->value(COMMON_SERVER_PATH_KEY, COMMON_SERVER_PATH_DEF).toString(); + m_settings->endGroup(); + return serverPath; +} + QString Config::getTitle() { QString title; diff --git a/QtScrcpy/util/config.h b/QtScrcpy/util/config.h index cde8c02..f23d3b6 100644 --- a/QtScrcpy/util/config.h +++ b/QtScrcpy/util/config.h @@ -18,6 +18,7 @@ public: int getDesktopOpenGL(); int getSkin(); QString getPushFilePath(); + QString getServerPath(); private: explicit Config(QObject *parent = nullptr); diff --git a/config/config.ini b/config/config.ini index eea3e35..ae2f632 100644 --- a/config/config.ini +++ b/config/config.ini @@ -1,15 +1,17 @@ [common] # 窗口标题 WindowTitle=QtScrcpy -# 录制文件保存路径 +# 录制文件保存路径(必须以/作为分隔符) RecordPath= -# 推送到安卓设备的文件保存路径 +# 推送到安卓设备的文件保存路径(必须以/结尾) PushFilePath=/sdcard/ # 最大fps(仅支持Android 10以上) MaxFps=60 -# scrcpy-server的版本号(不要修改) -ServerVersion=1.12.1 # 是否显示手机皮肤,0不显示 UseSkin=1 # 视频解码方式:-1 自动,0 软解,1 dx硬解,2 opengl硬解 UseDesktopOpenGL=-1 +# scrcpy-server的版本号(不要修改) +ServerVersion=1.12.1 +# scrcpy-server推送到安卓设备的路径 +ServerPath=/data/local/tmp/scrcpy-server.jar