A fast, standalone Android file manager with power tools.
Editors, archives, APK tools, network and cloud drives, a terminal, root and Shizuku,
in one app that works fully on its own.
Features · Install · Build · Architecture · Docs · Fleet
- Works on its own. No companion app is needed. DroidCommand AI is optional, and removing it disables nothing.
- One pane by default. Two panes and tabs are a setting away (Settings → Appearance → Two file panes).
- No AI of its own. There is no built-in assistant and nowhere to enter an AI endpoint or key. The only AI that can connect is DroidCommand AI, and only if you switch external control on. It is off by default.
- Built from scratch on open-source libraries with compatible licences. The docs say where each one is used.
| Area | What you get |
|---|---|
| Browse and organise | One pane or two, with tabs · copy, move, delete and rename through an operation queue with undo · batch rename (find/replace or regex, case, counters) · bookmarks · trash on the same volume, with restore · indexed search · sort, filter and hidden files · properties with MD5, SHA-1 and SHA-256 · storage analyzer and duplicate finder Manual · Browsing · Batch rename |
| View and edit | Text and code editor with syntax highlighting, find/replace and undo · hex editor · line-by-line diff · image, PDF and font previews and a thumbnail gallery · Media Pro video and music player (AndroidX Media3, background audio) · photo tools (EXIF view, edit and strip; batch resize, convert and compress) · Obsidian-style notes vault Media · Media Pro · Photo tools · Notes |
| Archives | ZIP, JAR and APK (create and extract, including AES-256 passwords) · 7z · TAR, .tar.gz, .tar.bz2, .tar.xz · single .gz, .bz2 and .xz files · RAR (extract only). Paths that try to escape the extract folder are blocked.Archives |
| APK and developer tools | APK info, install, sign (v1/v2/v3), rebuild and extract · DEX and smali browser · readable Java view · binary manifest and ARSC editing · compare two APKs · static patch presets behind an explicit authorization gate · App Manager Pro APK tools · Java view · Deep edit · DEX and ARSC · Patch presets · App Manager |
| Power tools | Root (libsu) and Shizuku backends, both off by default · built-in PTY terminal · declarative plugins and a script runner (no dex or class loading) · Quick Settings tiles, a bookmarks widget and a share target Power tools · Plugins |
| Network and cloud | FTP, FTPS, SFTP, SMB and WebDAV connections that open as tabs · Google Drive, Dropbox, OneDrive and S3-compatible stores (AWS S3, Cloudflare R2, Backblaze B2, MinIO) · Wi-Fi transfer with an optional PIN, rate-limited against guessing · built-in FTP, SFTP and web servers, off by default · one-way and two-way folder sync with a dry-run preview. A cloud provider shows (Not configured) when the build has no client ID for it. Network · Cloud · Server mode · Folder sync |
| Privacy and security | Secure folder (AES-256-GCM, unlocked with biometrics or your device PIN) · saved archive passwords kept in the Android Keystore · external control from other apps is off by default and limited to an allowlist Secure folder · Fleet bridge |
| Look and feel | System, Light, Dark and AMOLED modes · seven colour themes (Classic, Cyber, Terminal, Ocean, Ember, Rose, Graphite) · Material You dynamic colour and accents · navigation rail and side-by-side panes on tablets and foldables · a launch screen that is never white |
Requirements: Android 8.0 or newer (API 26).
| Where | What you get |
|---|---|
| CI artifact | Open the latest run under Actions → CI and download app-debug. It is kept for one day, and the upload is best-effort: it is skipped if the account's Actions storage quota is full. |
| Pre-release | Debug-signed and sideload-only, published by hand with the CI workflow. Not device-tested and not production-signed. See Releasing. |
| Build it yourself | See Build from source. |
First run. Grant all-files access (Android 11 and newer) for fast browsing of shared storage. Without it the app still runs against its own folders. Every other permission is optional and explained in the manual.
| Detail | Value |
|---|---|
| Package | ai.victorious.filemanager (debug builds: ai.victorious.filemanager.debug) |
| Version | 0.1.1, from versionName in app/build.gradle.kts |
| SDK | minSdk 26 · targetSdk and compileSdk 35 |
You need JDK 17 and the Android SDK with platform 35.
./gradlew :core:test :app:testDebugUnitTest # unit tests, no device needed
./gradlew :app:lintDebug # Android lint
./gradlew :app:assembleDebug # debug APKThe APK is written to app/build/outputs/apk/debug/app-debug.apk. For the UI smoke tests, start an emulator or connect a device and run ./gradlew :app:connectedDebugAndroidTest. Debug signing is described in Signing.
| Module | Role |
|---|---|
:core |
Pure JVM logic: paths, FileIo, the operation queue and undo, trash, bookmarks, search, archives, networking and the fleet JSON envelope. Unit-tested without an emulator. |
:app |
The Android app: Jetpack Compose and Material 3 UI, services, and the optional Messenger bridge. |
:ffmpeg-decoder |
The Media3 FFmpeg decoder library. Its native part is built only when the FFmpeg libraries are present. See FFmpeg media. |
Built with Kotlin 2.1, Jetpack Compose (Material 3), AndroidX Media3, and Gradle with a version catalog (gradle/libs.versions.toml).
Every pull request runs three required checks, and releases are published by hand:
| Job | What it does |
|---|---|
| Unit tests + debug APK | :core:test, :app:testDebugUnitTest, a debug build, and a signing fingerprint check |
| Android lint | :app:lintDebug, which fails on errors |
| Emulator smoke tests (API 34) | Compose UI tests on an emulator, plus a random-input monkey run and a logcat scan |
| Publish pre-release | Manual only, from Run workflow with a release_tag |
Details: Testing.
Start with the User Manual, which describes only features that exist. The same text is built into the app (Settings → Help & manual).
| Topic | Docs |
|---|---|
| Using the app | Manual · Browsing · Batch rename · Archives |
| APK and code | APK tools · Java view · Deep edit · DEX and ARSC · Patch presets · App Manager |
| Media and notes | Media · Media Pro · FFmpeg media · Photo tools · Notes · Notes and profiles |
| Network | Network · Cloud · Server mode · Folder sync |
| Power and security | Power tools · Plugins · Secure folder |
| Fleet | Fleet bridge · VictorSuite panel |
| Project | Testing · Signing · Releasing |
VictorFiles is part of the Victorious app fleet, and it can optionally act as an EXTERNAL_NODE for DroidCommand AI over a local Messenger bridge. It is not a bound companion: there is no shared signing key, no special bind permission, and no dependency guard. Allow external control (Settings → Fleet) is off by default, and only DroidCommand AI's packages are accepted as callers. See Fleet bridge and section 5 of the manual.
Package id: ai.victorious.filemanager (the app is named VictorFiles; the package id is unchanged)
Package note:
app/build.gradle.ktsusesai.victorious.filemanager, matching the fleet-manifest ROADMAP target and what DroidCommand AI and VictorSuite look for.
Status: blocked (CI stack) (from fleet-manifest ROADMAP)
- Monorepo: https://github.com/Victorious93/victorious-fleet
- Fleet site: https://victorious-framework.pages.dev
Development phases
- Phases 1–2: dual panes with tabs, copy, move, delete, rename, operation queue with undo, search, bookmarks, trash; text and hex editors, archives, image and media viewers
- Phases 3–4: APK install, sign and rebuild; DEX and smali browsing; resources
- Phases 5–6: syntax highlighting, find/replace, diff, duplicates, storage analyzer, encrypted ZIP; smali assemble, ARSC strings, APKS/XAPK, signature v4 and verify, extract installed apps
- Phase 7: root (libsu), Shizuku, terminal, app manager backup and restore
- Phase 8: FTP, FTPS, SFTP, SMB and WebDAV connections; Wi-Fi transfer
- Phase 9: declarative plugins and a script runner; biometric-locked secure folder
- Phase 10: indexed search, trash on the same volume, themes, tablet and foldable layouts, compare two APKs, smali tools, RAR extraction (details)
- Phase 11: binary manifest editor, ARSC edits in a sealed APK, one-tap APK mod, PTY terminal
- Phase 12: media viewers, widgets, Quick Settings tiles, share target (details)
- Phase 13: readable Java view
- Phase 14: cloud and remote providers
- Phase 15: APK patch presets with an authorization gate
Since then: App Manager Pro, Media Pro, notes vault, photo tools, folder sync, server mode, DEX and ARSC tools, single-pane layout and colour themes.
The built-in AI assistant that shipped in Phase 9 has been removed. DroidCommand AI is the only AI that connects.
Third-party components
- Apache Commons Compress (Apache-2.0) and XZ for Java (public domain) for 7z, TAR and compressed files
- junrar for RAR extraction, under the UnRAR licence. See Archives for the compliance notes.
- apksig (Apache-2.0) for APK signing
- Termux and jackpal terminal modules (Apache-2.0) for the PTY terminal
- Per-feature library and licence tables are in Network, Server mode, Media Pro and DEX and ARSC.
