From 6e5f02fcb462c0b1189158473b1fa6519d020528 Mon Sep 17 00:00:00 2001 From: Barry <870709864@qq.com> Date: Sat, 26 Jan 2019 20:50:59 +0800 Subject: [PATCH] =?UTF-8?q?update:server=E5=88=A0=E9=99=A4=E7=94=B1server?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=E8=B4=9F=E8=B4=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtScrcpy/server/server.cpp | 36 ++---------------- QtScrcpy/server/server.h | 1 - .../genymobile/scrcpy/DesktopConnection.java | 2 +- .../java/com/genymobile/scrcpy/Server.java | 13 +++++++ third_party/scrcpy-server.jar | Bin 69944 -> 49260 bytes 5 files changed, 18 insertions(+), 34 deletions(-) diff --git a/QtScrcpy/server/server.cpp b/QtScrcpy/server/server.cpp index 7d2b809..372fc3a 100644 --- a/QtScrcpy/server/server.cpp +++ b/QtScrcpy/server/server.cpp @@ -10,9 +10,7 @@ #define DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar" #define DEVICE_NAME_FIELD_LENGTH 64 -//#define SOCKET_NAME "qtscrcpy" //jar需要同步修改 -#define SOCKET_NAME "scrcpy" - +#define SOCKET_NAME "qtscrcpy" Server::Server(QObject *parent) : QObject(parent) { @@ -28,10 +26,7 @@ Server::Server(QObject *parent) : QObject(parent) if (m_deviceSocket->isValid() && readInfo(deviceName, deviceSize)) { // we don't need the server socket anymore // just m_deviceSocket is ok - m_serverSocket.close(); - // the server is started, we can clean up the jar from the temporary folder - removeServer(); - m_serverCopiedToDevice = false; + m_serverSocket.close(); // we don't need the adb tunnel anymore disableTunnelReverse(); m_tunnelEnabled = false; @@ -70,21 +65,6 @@ bool Server::pushServer() return true; } -bool Server::removeServer() -{ - AdbProcess* adb = new AdbProcess(); - if (!adb) { - return false; - } - connect(adb, &AdbProcess::adbProcessResult, this, [this](AdbProcess::ADB_EXEC_RESULT processResult){ - if (AdbProcess::AER_SUCCESS_START != processResult) { - sender()->deleteLater(); - } - }); - adb->removePath(m_serial, DEVICE_SERVER_PATH); - return true; -} - bool Server::enableTunnelReverse() { if (m_workProcess.isRuning()) { @@ -217,10 +197,7 @@ bool Server::connectTo() success = false; } - if (success) { - // the server is started, we can clean up the jar from the temporary folder - removeServer(); - m_serverCopiedToDevice = false; + if (success) { // we don't need the adb tunnel anymore disableTunnelForward(); m_tunnelEnabled = false; @@ -262,11 +239,7 @@ void Server::stop() } m_tunnelForward = false; m_tunnelEnabled = false; - } - if (m_serverCopiedToDevice) { - removeServer(); - m_serverCopiedToDevice = false; - } + } m_serverSocket.close(); } @@ -363,7 +336,6 @@ void Server::onWorkProcessResult(AdbProcess::ADB_EXEC_RESULT processResult) switch (m_serverStartStep) { case SSS_PUSH: if (AdbProcess::AER_SUCCESS_EXEC == processResult) { - m_serverCopiedToDevice = true; #if 1 m_serverStartStep = SSS_ENABLE_TUNNEL_REVERSE; #else diff --git a/QtScrcpy/server/server.h b/QtScrcpy/server/server.h index 1091aac..6643a2c 100644 --- a/QtScrcpy/server/server.h +++ b/QtScrcpy/server/server.h @@ -66,7 +66,6 @@ private: quint16 m_localPort = 0; bool m_tunnelEnabled = false; bool m_tunnelForward = false; // use "adb forward" instead of "adb reverse" - bool m_serverCopiedToDevice = false; quint16 m_maxSize = 0; quint32 m_bitRate = 0; QString m_crop = ""; diff --git a/server/src/main/java/com/genymobile/scrcpy/DesktopConnection.java b/server/src/main/java/com/genymobile/scrcpy/DesktopConnection.java index d87a7fd..f8c3ba6 100644 --- a/server/src/main/java/com/genymobile/scrcpy/DesktopConnection.java +++ b/server/src/main/java/com/genymobile/scrcpy/DesktopConnection.java @@ -14,7 +14,7 @@ public final class DesktopConnection implements Closeable { private static final int DEVICE_NAME_FIELD_LENGTH = 64; - private static final String SOCKET_NAME = "scrcpy"; + private static final String SOCKET_NAME = "qtscrcpy"; private final LocalSocket socket; private final InputStream inputStream; diff --git a/server/src/main/java/com/genymobile/scrcpy/Server.java b/server/src/main/java/com/genymobile/scrcpy/Server.java index 55c011f..daf9c77 100644 --- a/server/src/main/java/com/genymobile/scrcpy/Server.java +++ b/server/src/main/java/com/genymobile/scrcpy/Server.java @@ -2,10 +2,14 @@ package com.genymobile.scrcpy; import android.graphics.Rect; +import java.io.File; + import java.io.IOException; public final class Server { + private static final String SERVER_PATH = "/data/local/tmp/scrcpy-server.jar"; + private Server() { // not instantiable } @@ -82,6 +86,14 @@ public final class Server { return new Rect(x, y, x + width, y + height); } + private static void unlinkSelf() { + try { + new File(SERVER_PATH).delete(); + } catch (Exception e) { + Ln.e("Cannot unlink server", e); + } + } + public static void main(String... args) throws Exception { Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override @@ -90,6 +102,7 @@ public final class Server { } }); + unlinkSelf(); Options options = createOptions(args); scrcpy(options); } diff --git a/third_party/scrcpy-server.jar b/third_party/scrcpy-server.jar index e16040c96128cf3bbdc7475041a15fdb978cdd2b..15563490aca263db4f70a863306671a1a7074f82 100644 GIT binary patch delta 23012 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

^39c?wDI37fWxKRQnHw_Bvw>?N1eUFF};opJXo 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 Wg%+WffuSXQ`b`1GNVbRjK%xLRlhHQ- delta 22798 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