manager: Optimized import, optimized all libsu shell calls, and fixed WebUI memory leaks (#369)

* manager: simply optimize

* manager: optimize webui functions

* manager: detect selinux using libsu:io

* manager: optimize webui functions

* manager: use the default shell

* manager: optimize import

* manager: optimize shell builder

* manager: fix memory leaks

* manager: optimize magisk detection

* manager: use libsu

* manager: optimize webui

---------

Co-authored-by: 白彩恋 <shiro@oom-wg.dev>
This commit is contained in:
梦璃酱
2025-09-01 15:04:58 +08:00
committed by GitHub
parent 662a2b1237
commit c3533861f2
61 changed files with 544 additions and 1182 deletions

View File

@@ -1,5 +1,7 @@
package io.sukisu.ultra;
import com.topjohnwu.superuser.io.SuFile;
import static com.sukisu.ultra.ui.util.KsuCliKt.getKpmmgrPath;
import static com.sukisu.ultra.ui.util.KsuCliKt.getSuSFSDaemonPath;
@@ -7,15 +9,17 @@ public class UltraToolInstall {
private static final String OUTSIDE_KPMMGR_PATH = "/data/adb/ksu/bin/kpmmgr";
private static final String OUTSIDE_SUSFSD_PATH = "/data/adb/ksu/bin/susfsd";
public static void tryToInstall() {
String kpmmgrPath = getKpmmgrPath();
if (UltraShellHelper.isPathExists(OUTSIDE_KPMMGR_PATH)) {
UltraShellHelper.CopyFileTo(kpmmgrPath, OUTSIDE_KPMMGR_PATH);
UltraShellHelper.runCmd("chmod a+rx " + OUTSIDE_KPMMGR_PATH);
SuFile KpmmgrFile = new SuFile(OUTSIDE_KPMMGR_PATH);
if (KpmmgrFile.exists()) {
UltraShellHelper.CopyFileTo(getKpmmgrPath(), OUTSIDE_KPMMGR_PATH);
boolean _ = KpmmgrFile.setReadable(true, false);
boolean _ = KpmmgrFile.setExecutable(true, false);
}
String SuSFSDaemonPath = getSuSFSDaemonPath();
if (UltraShellHelper.isPathExists(OUTSIDE_SUSFSD_PATH)) {
UltraShellHelper.CopyFileTo(SuSFSDaemonPath, OUTSIDE_SUSFSD_PATH);
UltraShellHelper.runCmd("chmod a+rx " + OUTSIDE_SUSFSD_PATH);
SuFile SuSFSDaemonFile = new SuFile(OUTSIDE_SUSFSD_PATH);
if (SuSFSDaemonFile.exists()) {
UltraShellHelper.CopyFileTo(getSuSFSDaemonPath(), OUTSIDE_SUSFSD_PATH);
boolean _ = SuSFSDaemonFile.setReadable(true, false);
boolean _ = SuSFSDaemonFile.setExecutable(true, false);
}
}
}