A High-Performance Dual-Pane File Manager for Android & Termux powered by a Native Rust Core Engine.
XT Manager is an advanced, ultra-fast file manager built from the ground up for Android power users and Termux environments. Combining Jetpack Compose's modern declarative UI with a high-performance Rust Native Filesystem Engine (libxt_fs.so), XT Manager easily handles directories containing tens of thousands of files with zero lag.
- Direct System Scans: Bypasses slow Java reflection and shell processes using direct C/Rust POSIX system calls.
- SingleFlight Collapsing: Prevents duplicate concurrent scans for the same directory path.
- In-Memory Caching & Metrics: Provides microsecond-level sorting and scanning statistics.
- Side-by-Side Panes: Effortlessly copy, move, compare, and synchronize files across two independent panes.
- Active Pane Highlighting: Visual indicators show the active workspace.
- Fast Scrollbar: Smooth, hardware-accelerated scrollbar for large directories (>90 items).
- Custom Density & UI Scaling: Adjust row density, bottom bar scaling, and thumbnail pre-fetching.
- Supported Formats: Full extraction, creation, and browsing support for
ZIP,7Z,TAR,GZ,BZ2,XZ,ZST,LZ4,TGZ,TBZ2,TXZ,TZST,TLZ4,RAR,CAB,ISO, andCPIO. - Archive Navigation: Browse archive contents virtually like normal directories.
- Non-Blocking Background Tasks: Throttled task queue prevents UI freezes during heavy compression/extraction operations.
- External SD Card & USB OTG: Full read/write/delete support for secondary SD cards (
/storage/XXXX-XXXX) and USB OTG drives using Android'sDocumentFileSAF abstraction. - Fallback Operations: Automatic fallback to SAF URIs if POSIX permissions are restricted.
- Integrated terminal window allowing shell script execution and CLI operations directly inside the application.
Xt-Manager/
├── app/ # Jetpack Compose Android Application
│ ├── src/main/java/com/xtmanager/
│ │ ├── core/
│ │ │ ├── filesystem/ # LocalFileSystem, SafStorageManager, ArchiveFileSystem
│ │ │ ├── logger/ # AppLogger infrastructure
│ │ │ ├── operations/ # OperationManager (Throttled StateFlow Task Queue)
│ │ │ ├── settings/ # DataStore Preferences Manager
│ │ │ └── thumbnail/ # Fast key ThumbnailManager
│ │ ├── ui/
│ │ │ ├── components/ # DualPaneView, PathBar, BottomBar, StartEllipsisText
│ │ │ ├── dialogs/ # OperationProgressDialog, Compress, Extract, ApkInstall
│ │ │ ├── drawer/ # AppNavigationDrawer & Storage Volume Scanner
│ │ │ └── ... # Settings & Preview screens
│ │ └── viewmodel/ # FileManagerViewModel State Management
├── native-fs/ # Rust Native Core Engine (Cargo NDK)
│ ├── src/ # Native filesystem listing, archive & cancel token logic
│ └── Cargo.toml
├── terminal-emulator/ # Terminal emulator core library
└── terminal-view/ # Terminal Compose View wrapper
- JDK: 17+
- Android SDK: API 34 (Build-Tools 34.0.0)
- Rust Toolchain:
stablewithaarch64-linux-androidtarget - Cargo NDK:
cargo install cargo-ndk
-
Clone the repository:
git clone https://github.com/heySaish/Xt-Manager.git cd Xt-Manager -
Build the Native Rust Library:
cd native-fs cargo ndk -t arm64-v8a -o ../app/src/main/jniLibs build --release cd ..
-
Build the Android APK:
./gradlew assembleDebug
The compiled APK will be generated at app/build/outputs/apk/debug/app-debug.apk.
This project is licensed under the GNU General Public License v3.0 (GPLv3).