summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangshuai <[email protected]>2024-11-27 10:42:54 +0800
committerzhangshuai <[email protected]>2024-11-27 10:42:54 +0800
commitfa15fd76ca765e823d8695a1a2062688068b4e8d (patch)
tree396677846e3e716f87814c453825d387eaea5285
parent83b17b5f5e62d7573761246fe5066bed040843d0 (diff)
fix: ASW-195 job 执行playbook初始化关闭第三方app
-rw-r--r--src/main/java/net/geedge/api/util/AdbUtil.java28
-rw-r--r--src/main/java/net/geedge/api/util/PlaybookRunnable.java19
2 files changed, 12 insertions, 35 deletions
diff --git a/src/main/java/net/geedge/api/util/AdbUtil.java b/src/main/java/net/geedge/api/util/AdbUtil.java
index 35a9e41..fe785c4 100644
--- a/src/main/java/net/geedge/api/util/AdbUtil.java
+++ b/src/main/java/net/geedge/api/util/AdbUtil.java
@@ -858,26 +858,6 @@ public class AdbUtil {
return T.StrUtil.equals(result, packageName);
}
-
- public List findPackageNameList() {
- String result = commandExec.exec(AdbCommandBuilder.builder()
- .serial(this.getSerial())
- .buildFindPackageNameList()
- .build()
- );
- List<String> packageNameList = T.ListUtil.list(true);
-
- String prefix = "package:";
- String[] lines = result.split("\\n");
- for (String line : lines) {
- String packageName = T.StrUtil.trim(line.substring(prefix.length()));
- if (T.StrUtil.equals(DEFAULT_DROIDVNC_NG_PKG_NAME, packageName)) continue;
- packageNameList.add(packageName);
- }
- return packageNameList;
- }
-
-
public CommandResult startApp(String packageName) {
String result = commandExec.exec(AdbCommandBuilder.builder()
.serial(this.getSerial())
@@ -888,6 +868,14 @@ public class AdbUtil {
return new CommandResult(T.StrUtil.isNotEmpty(result) ? 1 : 0, result);
}
+
+ public void closeOtherApps() {
+ commandExec.exec(AdbCommandBuilder.builder()
+ .serial(this.getSerial())
+ .buildShellCommand(String.format("shell 'for app in $(pm list packages -3 | grep -v \"net.christianbeier.droidvnc_ng\" | cut -f 2 -d \":\"); do am force-stop $app; done'"))
+ .build());
+ }
+
private synchronized ExecutorService getThreadPool() {
if (threadPool == null) {
threadPool = new ThreadPoolExecutor(
diff --git a/src/main/java/net/geedge/api/util/PlaybookRunnable.java b/src/main/java/net/geedge/api/util/PlaybookRunnable.java
index 8bcfcc9..4786c19 100644
--- a/src/main/java/net/geedge/api/util/PlaybookRunnable.java
+++ b/src/main/java/net/geedge/api/util/PlaybookRunnable.java
@@ -1,7 +1,5 @@
package net.geedge.api.util;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.log.Log;
import net.geedge.api.entity.EnvApiYml;
@@ -11,7 +9,6 @@ import net.geedge.common.RCode;
import net.geedge.common.T;
import java.io.File;
-import java.util.List;
import java.util.Map;
public class PlaybookRunnable implements Runnable {
@@ -85,8 +82,7 @@ public class PlaybookRunnable implements Runnable {
//Close other apps
if (interrupt) return;
- List<String> packageNameList = adbUtil.findPackageNameList();
- this.closeApp(packageNameList, packageName);
+ adbUtil.closeOtherApps();
// clear app data
if (interrupt) return;
@@ -153,7 +149,9 @@ public class PlaybookRunnable implements Runnable {
AdbUtil.CommandResult allTcpdump = adbUtil.stopTcpdump(tcpdumpAll.output());
adbUtil.execShellCommand(String.format("shell rm -rf %s", allTcpdump.output()));
}
- this.closeApp(ListUtil.empty(), packageName);
+
+ adbUtil.stopApp(packageName);
+
if (unInstall) {
adbUtil.uninstall(packageName);
}
@@ -167,15 +165,6 @@ public class PlaybookRunnable implements Runnable {
adbUtil.setInterrupt(true);
}
- private void closeApp(List<String> packageNameList, String packageName) {
- if (CollUtil.isNotEmpty(packageNameList)) {
- for (String name : packageNameList) {
- adbUtil.stopApp(name);
- }
- }
- adbUtil.stopApp(packageName);
- }
-
private void stopTcpdump(AdbUtil.CommandResult tcpdump, File logFile, String packageName) {
// stop tcpdump
AdbUtil.CommandResult stopTcpdump = adbUtil.stopTcpdump(tcpdump.output());