From de6dc65a56201c3a1ad15a7f1d8ff7f9f374afb0 Mon Sep 17 00:00:00 2001 From: AlexLiuDev233 Date: Fri, 21 Nov 2025 23:52:16 +0800 Subject: [PATCH] refactor: use SuFile get Zygisk Implement (#615) --- .../java/com/sukisu/ultra/ui/util/KsuCli.kt | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt index d7398d6f..3e76b11d 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt @@ -576,8 +576,6 @@ fun getSuSFSFeatures(): String { } fun getZygiskImplement(): String { - val shell = getRootShell() - val zygiskModuleIds = listOf( "zygisksu", "rezygisk", @@ -585,14 +583,19 @@ fun getZygiskImplement(): String { ) for (moduleId in zygiskModuleIds) { - val modulePath = "/data/adb/modules/$moduleId" - when { - ShellUtils.fastCmdResult(shell, "test -f $modulePath/module.prop && test ! -f $modulePath/disable") -> { - val result = ShellUtils.fastCmd(shell, "grep '^name=' $modulePath/module.prop | cut -d'=' -f2") - Log.i(TAG, "Zygisk implement: $result") - return result - } - } + // 忽略禁用/即将删除 + if (SuFile.open("/data/adb/modules/$moduleId/disable").isFile || SuFile.open("/data/adb/modules/$moduleId/remove").isFile) continue + + // 读取prop + val propFile = SuFile.open("/data/adb/modules/$moduleId/module.prop") + if (!propFile.isFile) continue + + val prop = Properties() + prop.load(propFile.newInputStream()) + + val name = prop.getProperty("name") + Log.i(TAG, "Zygisk implement: $name") + return name } Log.i(TAG, "Zygisk implement: None")