Open-source project
d4rken-org/sdmaid-se avatar
d4rken-org/sdmaid-se

SD Maid 2/SE: Android's maintenance toolkit, module by module

SD Maid 2/SE is Android's most thorough cleaning tool.

7,634 stars828 forksKotlinGPL-3.0

At a glance

What is it?
SD Maid 2/SE is a Kotlin Android app that removes leftover app data, caches and duplicates, with root and Shizuku support. It is a rewrite of the original SD Maid and, by the README's own admission, not feature complete.
Who is it for?
Adopt SD Maid 2/SE if you want a modular Android cleaner that separates app-corpse removal, cache deletion, duplicate finding and app control, and you accept that the README calls it not feature complete. Do not adopt it if you need a stable, finished tool or you are unwilling to grant root or Shizuku access, since without elevated access some modules cannot reach other apps' data.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What SD Maid 2/SE actually cleans, and who it is for

SD Maid 2/SE is a file management tool for Android whose stated core purpose is freeing up space and removing unwanted data. It is aimed at people who want to inspect and delete files the system does not surface: leftover directories belonging to uninstalled apps (CorpseFinder), expendable caches (AppCleaner), user-configured filters for arbitrary files (SystemCleaner), duplicate data (Deduplicator), image compression (Media Squeeze), a storage overview (StorageAnalyzer), scheduling (Scheduler), app control (AppControl) and swipe-assisted deletion (Swiper).

The README describes it as the successor to SD Maid, a complete rewrite optimized for newer Android versions with a focus on the original's most popular features. That framing matters: this is not a new idea so much as a port of an established one onto modern Android's storage and permission model. The README links to a wiki FAQ for the differences between SD Maid and SD Maid SE, which suggests the author expects existing users to arrive with that comparison already in mind.

Modules, root and Shizuku: how the app is put together

The repository layout shows the architecture more clearly than the README does. Each cleaning capability is its own Gradle module: app-tool-analyzer, app-tool-appcleaner, app-tool-appcontrol, app-tool-corpsefinder, app-tool-deduplicator, app-tool-scheduler, app-tool-squeezer, app-tool-swiper and app-tool-systemcleaner. Shared behaviour sits in app-common-* modules, among them app-common-root, app-common-shell, app-common-adb, app-common-automation, app-common-exclusion, app-common-pkgs, app-common-io and app-common-ui. The app module assembles them.

That split tells you two things. First, the tools are independent features rather than one monolithic scan, so the failure of one module does not take down the others. Second, the interesting engineering is in the common layer: app-common-root and app-common-shell exist because deleting another app's data on modern Android requires either root or an elevated shell, and the README lists both root and Shizuku support. Shizuku is the route for devices without root, and it is prominent enough to appear in the search phrases people use around this project. The README does not document the internal data flow, so anything beyond this module inventory is inference from the directory names.

Installing SD Maid 2/SE from Play, F-Droid or GitHub

The README's download table lists six sources. Google Play (Release) and Google Play (Open Testing) are the store builds, GitHub (Release) and GitHub (Pre-Release) are direct APKs, and F-Droid appears twice: the main repository and IzzyOnDroid. The README adds that authenticity of a downloaded APK can be verified via SECURITY.md.

There is no command-line install because this is an Android app, and the README gives no shell command for obtaining it. The install path is the download table itself. After installing, the first real use is a single tool rather than a full sweep. Open the app, pick AppCleaner from the dashboard, let it scan, and review the list before confirming. The README's screenshots are named for exactly these screens (dashboard, appcleaner, corpsefinder, systemcleaner, deduplicator, appcontrol), which is a reasonable map of the intended first-run path. If you want the deeper modules to work on other apps' data, grant root or set up Shizuku first; the README lists both as supported but does not walk through the Shizuku pairing steps.

Where SD Maid 2/SE stops, and where it is the wrong tool

The README states plainly that SD Maid 2/SE is actively being worked on and not feature complete. That is the single most important sentence on the page. It means module behaviour can change between releases, and the recent release list is dominated by release candidates: v2.1.0-rc0, v2.0.4-rc0 and v2.0.3-rc0. If you need a frozen, finished cleaner, this is not it.

The second constraint is access. Root and Shizuku support are listed as features, which implies the app's reach depends on them. Without elevated access, modules that touch other applications' private data will be limited. The README does not enumerate which modules degrade without root or Shizuku, so that is something to test on your own device rather than assume.

Third, deletion is deletion. The README describes filters, exclusions (there is an app-common-exclusion module) and swipe-assisted deletion, but it does not document an undo or rollback path. Treat every confirmed deletion as permanent and review lists before confirming. A user who wants a single tap that cleans everything without inspection is using the wrong tool.

SD Maid 2/SE versus the original SD Maid and generic cleaners

The most direct alternative is SD Maid itself, the predecessor. The README calls SD Maid 2/SE a complete rewrite optimized for newer Android versions, focused on the original's most popular features, and points to the wiki FAQ for the full comparison. The practical difference is scope: the rewrite targets modern Android, which is also why it is not feature complete. If the original covers a feature you depend on and the rewrite has not reached it yet, the original is still the safer choice for that specific task.

Against general-purpose Android cleaners, the difference is structural rather than cosmetic. SD Maid 2/SE separates concerns into named modules with their own screens and, in the repository, their own Gradle projects. A generic cleaner typically presents one scan and one button. That is easier, and it is also why the README's feature list reads as a toolkit rather than a single action. Whether the modular approach is worth the extra decisions depends on whether you want to inspect what is being removed.

On licensing, the project is GPL-3.0. The README notes that development is financed by user contributions, specifically buying the upgrade on Google Play or sponsoring, and that the app has no ads and does not sell data. A Pro upgrade exists on Google Play. This is a paid-upgrade model layered on a GPL-3.0 codebase, which is worth understanding before you assume the GitHub build and the Play build are identical in capability. The README does not spell out the exact feature split between free and Pro, so check the store listing and the wiki FAQ rather than guessing. Nothing here is legal advice; if the licence terms matter to your use, read LICENSE and PRIVACY_POLICY.md in the repository.

Build it yourself if the release cadence is too slow

Because the repository is a standard Gradle project with gradlew, gradlew.bat, settings.gradle, build.gradle.kts and version.properties at the top level, building from source is a real option for anyone who wants a specific commit rather than a release candidate. The code-checks workflow badge in the README points at the project's own CI for code tests and evaluation. The README does not document a build recipe, so the entry point is the Gradle wrapper and the module list.

The maintenance cost of that choice is yours to carry: you would be tracking main, and the README's warning about incompleteness applies to main most of all. For most users the store or F-Droid build is the lower-effort path. For someone who wants to audit what the cleaner does before granting it root, reading the app-tool-* and app-common-root modules is the reason to build at all.

Editorial conclusion

Adopt SD Maid 2/SE if you want a modular Android cleaner that separates app-corpse removal, cache deletion, duplicate finding and app control, and you accept that the README calls it not feature complete. Do not adopt it if you need a stable, finished tool or you are unwilling to grant root or Shizuku access, since without elevated access some modules cannot reach other apps' data. Before installing, verify which build you are getting: the Play release, the open testing track, GitHub releases and pre-releases, F-Droid or IzzyOnDroid, and check SECURITY.md for APK verification.

Frequently asked questions

What is SD Maid 2/SE?

It is a file management tool for Android that specialises in maintenance, with the core purpose of freeing up space and removing unwanted data. Its features include removing data belonging to uninstalled apps, deleting caches, user-configurable file filters, scheduling, app control, storage analysis, duplicate finding, image compression and swipe-assisted deletion.

How do I use SD Maid 2/SE?

The README does not give a step-by-step walkthrough. Its screenshots map the app's screens: dashboard, appcleaner, corpsefinder, systemcleaner, deduplicator and appcontrol. The supported access modes are root and Shizuku, and the README does not document how to set up Shizuku.

Is SD Maid 2/SE safe?

The README states that the app has no ads and does not sell your data, and that development is financed by user contributions. It also points to SECURITY.md for verifying the authenticity of a downloaded APK. The README does not document an undo or rollback path for deletions.

Is SD Maid 2/SE free?

The code is licensed GPL-3.0 and the README lists free download sources including Google Play, GitHub and F-Droid. Development is financed by buying the SD Maid SE Pro upgrade on Google Play or by sponsoring. The README does not spell out the exact feature split between the free and Pro versions.

How does SD Maid 2/SE differ from the original SD Maid?

The README describes SD Maid 2/SE as the successor to SD Maid, a complete rewrite optimized for newer Android versions and focused on the original's most popular features. It links to the project wiki FAQ for more detail on the differences.

Official sources

  1. d4rken-org/sdmaid-se on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/d4rken-org-sdmaid-se.svg)](https://hysenlabs.com/projects/d4rken-org-sdmaid-se)