explaingit

cuso4-x/cuso4-rootmanager

12CSSAudience · developerComplexity · 3/5ActiveSetup · hard

TLDR

Android app that wraps Magisk, KernelSU, and APatch under a single Kotlin and WebView UI for managing root modules, viewing Magisk status, and one-click unrooting.

Mindmap

mindmap
  root((CuSO4-RootManager))
    Inputs
      Rooted Android device
      Installed Magisk or KernelSU
      ROOT modules
    Outputs
      Module install state
      Magisk status info
      Unroot result
    Use Cases
      Manage ROOT modules
      View Magisk status
      Remove root cleanly
    Tech Stack
      Kotlin
      WebView
      HTML
      CSS
      JavaScript

Things people build with this

USE CASE 1

Manage Magisk, KernelSU, and APatch modules from one Android app

USE CASE 2

Check Magisk version, Zygisk state, and ramdisk patch status on a rooted phone

USE CASE 3

Remove ROOT or Magisk in one tap without multiple manual reboots

USE CASE 4

Study a Kotlin + WebView shell where the UI is HTML/CSS/JS in assets

Tech stack

KotlinAndroidWebViewHTMLCSSJavaScriptGradle

Getting it running

Difficulty · hard Time to first run · 1h+

Requires an already-rooted Android device with Magisk, KernelSU, or APatch preinstalled; the app refuses to run otherwise.

In plain English

CuSO4 Open is an open source Android app that acts as a front end for ROOT management on rooted phones. Rooting an Android device gives an app the ability to read and change parts of the system that are normally locked away from regular apps, and the standard tools for doing this are projects called Magisk, KernelSU, and APatch. CuSO4 Open provides a single user interface that talks to whichever of those tools is already installed. The README is firm on one point: this app does not replace Magisk or KernelSU. The official ROOT manager has to be installed first, otherwise CuSO4 Open cannot run. The author calls this both a safety feature and a budget choice. The listed features are module management, meaning the user can install, enable, disable, and remove ROOT modules from inside the app, plus Magisk specific information such as the current kernel version, the Magisk version, whether Zygisk is on, and whether the boot ramdisk has been patched. There is also a one click option to remove ROOT or Magisk completely without going through several reboots. Under the hood the app is a native Android shell, written in Kotlin, that wraps a WebView. The user interface lives in android/app/src/main/assets/home as HTML, CSS, and JavaScript, and the Kotlin code sits next to it in the java folder. The app asks for three permissions: INTERNET for downloading modules, FOREGROUND_SERVICE for long running work, and POST_NOTIFICATIONS for install progress. To build from source the README asks for Android Studio Hedgehog or later, Android SDK 34, Gradle 8.9, and JDK 17, then a normal ./gradlew assembleDebug produces the debug APK. Pre-built APKs are also offered on the GitHub Releases page. The minimum supported Android version is 5.0.

Copy-paste prompts

Prompt 1
Build CuSO4-RootManager from source with Android Studio Hedgehog, SDK 34, Gradle 8.9, and JDK 17 and run assembleDebug.
Prompt 2
Walk me through editing the HTML/CSS/JS in android/app/src/main/assets/home to add a new module list view in CuSO4-RootManager.
Prompt 3
Explain how CuSO4-RootManager detects whether Magisk, KernelSU, or APatch is installed and which one to talk to.
Prompt 4
Show me the Kotlin bridge in CuSO4-RootManager that lets the WebView UI call native shell commands.
Prompt 5
Use CuSO4-RootManager on a test device to disable a misbehaving Magisk module without rebooting twice.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.