ShizuStore

Butler

d4rken-org

0.3.0-beta0 · GitHub

Download APK
File management Android 8.0+ 2 weeks ago GPL-3.0
277 ShizuStore
1.6k GitHub
67 Stars
9 MB Size
This app offers in-app purchases.

More about this app

Fast, private file explorer for power users with tabs, trash bin, regex search, app manager, and root/Shizuku support

Banner

Butler - File Explorer

API Code tests & eval Github Downloads Google Play Downloads ⭐

Butler is the file explorer for Android I always wanted, so I built it.

Fast, private, open-source. A little whimsical. Built for power-users.

Features include:

  • A browser-like tab system to use any of Butler's features in parallel.
  • File exploration with copy/move speed display and performance graphs.
  • Deletion with trash bin support.
  • Searching for and through files (with regex support).
  • Text editor that handles huge files.
  • App manager - browse, disable, export APKs, clear cache, uninstall.
  • Tablet support with multi-pane layouts.
  • Root & Shizuku support.
  • Material You theming - dynamic colors, dark mode, AMOLED.
  • No ads, no tracking - open source (GPL v3).

Butler is actively being worked on and not feature complete. Feature requests are welcome!

Download

Source Status
Google Play (Release)
Google Play (Open Testing)
Github (Release)
Github (Pre-Release)

Support the project

Butler 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 ❤️.

Get help

Screenshots

Phones

7" Tablets

10"+ Tablets

License

Butler's code is available under a GPL v3 license, this excludes:

  • Butler icons, logos, mascots, marketing materials and assets.
  • Butler animations and videos.
  • Butler documentation.
  • Google Play screenshots.
  • Google Play texts & descriptions.
  • Translations.
Close

How Shizuku is used

Can browse protected files, manage apps and install APKs silently via Shizuku with `pm` and `appops` commands.

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

Butler uses Shizuku to run elevated file and app operations with shell privileges.

  • Access protected files: browse, open, copy, move and delete files in restricted locations, plus create folders and links and change timestamps, permissions and ownership through the Shizuku user service.
  • Manage installed apps: force stop, enable or disable apps and components, uninstall, clear data, list per user packages, grant or revoke permissions and set app ops with pm and appops commands through Shizuku.
  • Install apps silently: stage APKs and commit installs without system prompts using pm install-create, pm install-write and pm install-commit session commands through Shizuku.

Android APIs or commands used

  • android.content.pm.PackageManager.getInstalledPackagesAsUser
  • android.content.pm.PackageManager.setApplicationEnabledSetting
  • android.content.pm.PackageManager.setComponentEnabledSetting
  • android.app.ActivityManager.runningAppProcesses
  • android.app.ActivityManager.forceStopPackage
  • libcore.io.Os.getpwuid
  • libcore.io.Os.getgrgid
  • pm grant
  • pm revoke
  • pm uninstall
  • pm clear
  • pm install-create
  • pm install-write
  • pm install-commit
  • pm install-abandon
  • pm list users
  • appops set
  • id
  • rm -rf

Notable details

Installs can also use the normal system installer with user confirmation when Shizuku elevation is unavailable.

Close

Changelog

What's new for version 0.3.0-beta0

What's Changed

:rocket: Enhancements

:lady_beetle: Bug fixes

:shrug: Other changes

Full Changelog: https://github.com/d4rken-org/butler/compare/v0.2.0-beta0...v0.3.0-beta0

Close

Permissions

16 permissions requested

  • android.permission.POST_NOTIFICATIONS
  • android.permission.INTERNET
  • android.permission.REQUEST_DELETE_PACKAGES
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.PACKAGE_USAGE_STATS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.MANAGE_EXTERNAL_STORAGE
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_DATA_SYNC
  • android.permission.WAKE_LOCK
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • eu.darken.butler.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close