diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/driver/agent/AndroidAgentSession.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/driver/agent/AndroidAgentSession.java index 19bc83f..089af45 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/driver/agent/AndroidAgentSession.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/driver/agent/AndroidAgentSession.java @@ -138,15 +138,10 @@ public class AndroidAgentSession { * 安静地关闭流 */ public void closeSilence() { - try { - state = false; - logger.debug("关闭设备【{}】的agentSession连接",serial); - if (transport != null) { - transport.close(); - } - } catch (IOException ignore) { - + if (null != this.sendThread) { + this.sendThread.interrupt(); } + state = false; } private class CommandSendThread extends Thread { @@ -168,7 +163,14 @@ public class AndroidAgentSession { break; } } - closeSilence(); + try { + logger.debug("关闭设备【{}】的agentSession连接",serial); + if (transport != null) { + transport.close(); + } + } catch (IOException ignore) { + + } } } } diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java index 16d0e0e..45d9ec2 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/AndroidDebuggerServiceImpl.java @@ -3,6 +3,7 @@ package net.northking.cctp.upperComputer.service; import cn.hutool.core.codec.Base64; import cn.hutool.core.img.ImgUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.ios.IOSDriver; @@ -864,17 +865,20 @@ public class AndroidDebuggerServiceImpl extends AbstractDebuggerService { @Override public String endRecord(DebuggerDeviceInfo info) { - String result = null; + String videoUrl = null; logger.info("收到设备【{}】在任务【{}】关闭录屏的请求............",info.getDeviceId(),info.getTaskId()); AndroidScreenResponseThread screenThread = AndroidDeviceManager.getInstance().getScreenThread(info.getDeviceId()); if (null != screenThread && screenThread.isAlive() && !screenThread.isInterrupted()) { - result = screenThread.stopRecord(); - return result; + String result = screenThread.stopRecord(); + JSONObject jsonObject = JSON.parseObject(result, JSONObject.class); + videoUrl = jsonObject.getString("videoUrl"); + logger.info("设备【{}】在任务【{}】录屏关闭,得到的视频地址为:{}",info.getDeviceId(),info.getTaskId(),videoUrl); + return videoUrl; } else { logger.info("设备【{}】在任务【{}】录屏不存在............",info.getDeviceId(),info.getTaskId()); } - logger.info("设备【{}】在任务【{}】录屏保存的地址:{}............",info.getDeviceId(),info.getTaskId(),result); - return result; + logger.info("设备【{}】在任务【{}】录屏保存的地址:{}............",info.getDeviceId(),info.getTaskId(),videoUrl); + return videoUrl; } @Override diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/IosDebuggerServiceImpl.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/IosDebuggerServiceImpl.java index 27f72bc..0b2cd11 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/IosDebuggerServiceImpl.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/service/IosDebuggerServiceImpl.java @@ -248,17 +248,20 @@ public class IosDebuggerServiceImpl extends AbstractDebuggerService { @Override public String endRecord(DebuggerDeviceInfo info) { - String result = null; + String videoUrl = null; logger.info("收到设备【{}】在任务【{}】关闭录屏的请求............",info.getDeviceId(),info.getTaskId()); IosScreenResponseThread screenThread = IOSDeviceManager.getInstance().getScreenThread(info.getDeviceId()); if (null != screenThread && screenThread.isAlive() && !screenThread.isInterrupted()) { - result = screenThread.stopRecord(); - return result; + String result = screenThread.stopRecord(); + JSONObject jsonObject = JSON.parseObject(result, JSONObject.class); + videoUrl = jsonObject.getString("videoUrl"); + logger.info("设备【{}】在任务【{}】录屏关闭,得到的视频地址为:{}",info.getDeviceId(),info.getTaskId(),videoUrl); + return videoUrl; } else { logger.info("设备【{}】在任务【{}】录屏不存在............",info.getDeviceId(),info.getTaskId()); } - logger.info("设备【{}】在任务【{}】录屏保存的地址:{}............",info.getDeviceId(),info.getTaskId(),result); - return result; + logger.info("设备【{}】在任务【{}】录屏保存的地址:{}............",info.getDeviceId(),info.getTaskId(),videoUrl); + return videoUrl; } @Override