diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt
index 1cd87428..bfe04932 100644
--- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt
+++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt
@@ -103,6 +103,12 @@ fun ModuleScreen(navigator: DestinationsNavigator) {
}
return@Scaffold
}
+ if (hasMagisk()) {
+ Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
+ Text(stringResource(R.string.module_magisk_conflict))
+ }
+ return@Scaffold
+ }
SwipeRefresh(
state = swipeState, onRefresh = {
scope.launch { viewModel.fetchModuleList() }
diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt
index f0dc048d..66fec64d 100644
--- a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt
+++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt
@@ -108,4 +108,10 @@ fun overlayFsAvailable(): Boolean {
val shell = createRootShell()
// check /proc/filesystems
return ShellUtils.fastCmdResult(shell, "cat /proc/filesystems | grep overlay")
+}
+
+fun hasMagisk(): Boolean {
+ val shell = createRootShell()
+ val result = shell.newJob().add("nsenter --mount=/proc/1/ns/mnt which magisk").exec()
+ return result.isSuccess
}
\ No newline at end of file
diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml
index 148fd3df..e4e63384 100644
--- a/manager/app/src/main/res/values-zh-rCN/strings.xml
+++ b/manager/app/src/main/res/values-zh-rCN/strings.xml
@@ -51,4 +51,5 @@
发送日志
安全模式
重启生效
+ 所有模块已被禁用,因为它与 Magisk 的模块系统有冲突!
diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml
index 76d632b4..e14c5d05 100644
--- a/manager/app/src/main/res/values/strings.xml
+++ b/manager/app/src/main/res/values/strings.xml
@@ -55,5 +55,6 @@
Send Log
Safe mode
Reboot to take effect
+ Modules are disabled because it is conflict with Magisk\'s!