SD Maid SE
2.2.0-rc0 · GitHub
More about this app
SD Maid 2/SE is Android's most thorough cleaning tool
SD Maid 2/SE
SD Maid 2/SE is actively being worked on and not feature complete. Feature requests are welcome!
SD Maid SE (AKA SD Maid 2) is a file management tool for Android that specialises in maintenance. Its core purpose is freeing up space and removing unwanted data.
Features include:
- Removing data that belongs to apps that are no longer installed (CorpseFinder)
- Deleting expendable files, e.g. caches (AppCleaner)
- User configurable filters for random files (SystemCleaner)
- Scheduling actions (Scheduler)
- Controlling/disabling apps (AppControl)
- Storage overview (StorageAnalyzer)
- Find duplicate data (Deduplicator)
- Image compression (Media Squeeze)
- Swipe assisted deletion (Swiper)
- Root and Shizuku support
SD Maid SE is the successor to SD Maid. A complete rewrite, optimized for newer Android versions, with a focus on SD Maid's most popular features. More details about SD Maid vs SD Maid SE can be found in the FAQ.
Download
| Source | Status |
|---|---|
| Google Play (Release) | |
| Google Play (Open Testing) | |
| Github (Release) | |
| Github (Pre-Release) | |
| F-Droid (Main Repo) | |
| F-Droid (IzzyOnDroid) |
To verify the authenticity of a downloaded APK, see SECURITY.md.
Support the project
SD Maid has no ads and doesn't sell your data.
Development is financed by individual user contributions, i.e. you buying the upgrade on Google Play or becoming a sponsor ❤️.
- Upgrade to SD Maid SE Pro on Google Play
- Become a sponsor on GitHub
- Buy me a coffee ☕
Get help
Screenshots








License
SD Maid SE's code is available under a GPL v3 license, this excludes:
- SD Maid SE icons, logos, mascots, marketing materials and assets.
- SD Maid SE animations and videos.
- SD Maid SE documentation.
- Google Play screenshots.
- Google Play texts & descriptions.
- Translations.
Thanks
- Thanks to crowdin.com for supporting open-source projects
How Shizuku is used
Can deep clean protected files, clear caches, manage apps and run shell commands via `ADB user service`.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
SD Maid SE uses Shizuku to run a privileged helper with shell level access that powers cleaning and app management.
- Clean protected files: leftover files and folders in protected storage are found, measured and deleted with elevated file access through Shizuku.
- Clear app caches: caches of other apps are deleted for one app or trimmed across storage with the cache delete and free storage package APIs through Shizuku.
- Stop running apps: misbehaving or blocking apps are force stopped for the current or other users with the force stop package API and the
am force-stopshell command through Shizuku. - Enable and disable apps: apps are enabled, disabled or reset to default state per user with the enable setting API and the
pm enableandpm disable-usershell commands through Shizuku. - Manage permissions and ops: app runtime permissions are granted or revoked and special app operations are set with the
pm grant,pm revokeandappops setshell commands through Shizuku. - Inventory and measure apps: installed apps are listed per user, running apps are detected and per app storage info is queried to drive cleaner and AppControl lists through Shizuku.
- Restore archived apps: archived apps are requested to be unarchived with the package installer unarchive API through Shizuku.
- Run privileged shell: fixed diagnostic, automation and management shell commands such as input taps and service writes are executed as shell user through Shizuku to support cleaning and automation.
Android APIs or commands used
ActivityManager.runningAppProcessesActivityManager.forceStopPackageAsUserPackageManager.deleteApplicationCacheFilesPackageManager.deleteApplicationCacheFilesAsUserPackageManager.freeStorageAndNotifyPackageManager.getInstalledPackagesAsUserPackageManager.getPackageInfosAsUserPackageManager.setApplicationEnabledSettingPackageInstaller.requestUnarchiveam force-stoppm enablepm disable-userpm disable-until-usedpm default-statepm grantpm revokeappops setinput tapjava.io.File.deletejava.io.File.mkdirsjava.io.File.createNewFilejava.io.File.canReadjava.io.File.canWritejava.io.File.existsjava.io.File.listFilesjava.io.File.setLastModified
Changelog
What's new for version 2.2.0-rc0
What's Changed
:rocket: Enhancements
- Deduplicator: Make clear which duplicate is kept and which is deleted by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2778
- AppControl: Allow cancelling a scan and show its progress by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2782
- General: Support Porter for ADB access, alongside Shizuku by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2780
:lady_beetle: Bug fixes
- General: Show Xiaomi tips when the accessibility service is stopped by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2777
- CorpseFinder: Fix the uninstall watcher not working after a restore by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2781
- Fix: App inventory could get stuck loading and freeze other tools by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2783
- AppCleaner: Show what was freed when the accessibility service stops by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2785
- AppControl: Fix force stop timing out instead of stopping apps by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2788
- AppControl: Fix actions silently doing nothing when they can't run by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2789
- AppControl: Fix installed apps being labelled "Not installed" by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2793
- AppControl: Stop app actions retrying for hours on some devices by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2798
- AppCleaner: Fix cache cleaning on Motorola and Sony devices with Android 16+ by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2757
- Fix: Handle SD cards and USB drives without a volume ID by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2801
- Fix: Scans right after granting storage access could miss files by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2806
- Fix: Main button stops responding after scrolling the dashboard by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2810
- General: Switch to Shizuku right away when Porter is removed by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2812
- Fix: Sheets cut off at the bottom when animations are turned off by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2814
- General: Stop the 16 KB compatibility warning on launch by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2815
:shrug: Other changes
- General: Migrate Claude plugins to Clanker Cafe by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2775
- General: Remove retired Claude Cafe plugin settings by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2776
- General: Track Pi project settings by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2797
- General: Add emulator tests for storage detection on Android 9 and 16 by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2799
- General: Move the security page to /security with a matching layout by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2803
- General: Add emulator tests for first-launch onboarding by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2802
- General: Add emulator tests for setup permission detection by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2805
- General: Run Android 16 emulator tests on the plain AOSP image by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2808
- General: Add emulator tests for the optimized beta build by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2809
- General: Keep system "isn't responding" dialogs from failing emulator tests by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2813
- General: Test app updates from the latest release on emulators by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2811
- General: Update translations from Crowdin by @d4rken in https://github.com/d4rken-org/sdmaid-se/pull/2816
Full Changelog: https://github.com/d4rken-org/sdmaid-se/compare/v2.1.0-rc0...v2.2.0-rc0
Permissions
22 permissions requested
Sources
2 sources
Sources
2 sources