diff --git a/src/main/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java b/src/main/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java index 0cf4d830b..b733c4fa2 100644 --- a/src/main/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java +++ b/src/main/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java @@ -244,13 +244,12 @@ public class InstallMagisk extends ParallelTask { console.add("*********************************"); break; case DIRECT_MODE: - // Direct flash boot image and patch dtbo if possible + String binPath = mm.remoteMagiskVersionCode >= 1464 ? "/data/adb/magisk" : "/data/magisk"; Shell.getShell().run(console, logs, - "rm -rf /data/magisk/*", - "mkdir -p /data/magisk 2>/dev/null", - "mv -f " + install + "/* /data/magisk", - "rm -rf " + install, - "flash_boot_image " + patched_boot + " " + mBootLocation, + Utils.fmt("rm -rf %s/*; mkdir -p %s; chmod 700 /data/adb", binPath, binPath), + Utils.fmt("mv -f %s/* %s; rm -rf %s", install, binPath, install), + Utils.fmt("flash_boot_image %s %s", patched_boot, mBootLocation), + mm.remoteMagiskVersionCode >= 1464 ? "cp /data/magisk.img /data/adb/magisk.img" : "", "patch_dtbo_image"); break; default: diff --git a/src/main/java/com/topjohnwu/magisk/utils/ShowUI.java b/src/main/java/com/topjohnwu/magisk/utils/ShowUI.java index 3eccf5e5d..0023eeff6 100644 --- a/src/main/java/com/topjohnwu/magisk/utils/ShowUI.java +++ b/src/main/java/com/topjohnwu/magisk/utils/ShowUI.java @@ -275,7 +275,8 @@ public class ShowUI { Shell.su( Utils.fmt("echo '%s' > /cache/%s", uninstaller.toString().replace("'", "'\\''"), Const.UNINSTALLER), - Utils.fmt("echo '%s' > /data/magisk/%s", utils.toString().replace("'", "'\\''"), Const.UTIL_FUNCTIONS) + Utils.fmt("echo '%s' > %s/%s", utils.toString().replace("'", "'\\''"), + mm.magiskVersionCode >= 1464 ? "/data/adb/magisk" : "/data/magisk", Const.UTIL_FUNCTIONS) ); try { uninstaller.close();