Note
This repository is a feature-rich fork of the original Prism File Explorer project.
It integrates premium companion features from NFile (including a Private Wallet, Local FTP Server, and Web Sharing with port-forwarding), replaces the PDF viewer with Jetpack's native androidx.pdf:pdf-viewer-fragment, introduces a custom Compose Excel spreadsheet viewer, integrates the office document layout engine from all-documents-reader, implements split APK bundle installation, a built-in terminal emulator inspired by Xed-Editor, and adds support for Shizuku/root privileged file access.
A modern, feature-rich, and lightweight file manager for Android, built entirely with Kotlin and Jetpack Compose.
Delivering a seamless file management experience with a beautiful Material Design interface
- Jetpack Compose & Material 3: Fully declarative, highly responsive, and beautiful layouts with automatic light/dark theme support.
- NFile Navigation Drawer: Quick-navigation sidebar for accessing the Dashboard, System Root, Recycle Bin, and server/network configuration wizard.
- Multi-Tab Layout: Seamlessly open, navigate, and manage multiple folders at once.
- Intuitive Breadcrumbs: Quick hierarchical folder traversal.
- Comprehensive Operations: Copy, cut, paste, rename, delete, batch select, and inspect detailed properties of files and folders.
- Interactive Clipboard FAB: An
ExtendedFloatingActionButtondynamically shows "Paste here" / "Move here" options for pending clipboard items. - Intelligent Duplicate Renaming: Same-folder copy operations automatically bypass directory validation and append a
(copy)suffix. - Recycle Bin Restore: Preserves the original file paths by writing a
metadata.jsonsidecar, allowing you to restore deleted files to their exact source. - Privileged Explorer Mode: Complete root and Shizuku integration to display file sizes, timestamps, and contents count for restricted folders.
- Secure PIN Protection: Set up a custom 4-digit PIN with a haptic-feedback keypad to lock your sensitive files.
- Cryptographic Scrambling: Encrypts and decrypts files using SHA-256 password salting and custom byte XOR-scrambling.
- Seamless Temporary Viewing: Decrypts files temporarily to the cache for inline viewer viewing and automatically scrubs them on exit.
- Local FTP Server: Run a background FTP server via a persistent
FtpForegroundServicewith notification-area status controls. - Web Sharing Portal: Host an offline directory listing server, support chunked/range media streaming for browser viewing, accept remote POST file uploads, and establish secure public tunnels via SSH client port-forwarding to
localhost.run. - Remote Connection Wizard: Configure and save connections for FTP, SFTP (via
sshj), WebDAV, and SMB/LAN servers. - Remote Explorer: Manage remote storages natively, download, upload, create folders, and delete remote files.
- Quick Context Actions: Right-click context menus enable rapid extraction of
.zip,.7z, and.rararchives. - Configurable Compression: Choose password protection (AES-256) and compression scales (Store, Fastest, Fast, Normal, Maximum, Ultra) when creating archives.
- Encrypted Archive Listing: Decoupled from the UI thread using
zip4j, allowing users to enter passwords to list or browse encrypted entries cleanly. - Logical Nesting Fix: Browse nested sub-archives without exposing temporary folder paths in breadcrumbs.
- Jetpack PDF Viewer: Rewritten from legacy PDFBox loading to Jetpack's native
androidx.pdf:pdf-viewer-fragment(reducing load times from 6.4s to under 1.5s). Features native text selection, copy-paste, find-in-document search, coordinate-aligned highlights, high-resolution rendering on zoom, page indicator bubble, and a Go-to-Page dialog. - Native Excel Spreadsheet Viewer: Renders
.xlsand.xlsxsheets in a custom Compose-based scrollable grid with coordinate headers (A, B, C... / 1, 2, 3...) and cell borders. Includes filter/sorting controls and tab-based sheet navigation. - Embedded Office Layout Engine (Docreader): High-fidelity layout rendering of Word (
.doc,.docx) and PowerPoint (.ppt,.pptx) files, powered by the core engine fromall-documents-reader. - LaTeX Compiler & Editor: Compile LaTeX offline using the built-in Tectonic compiler. Includes search/scroll navigation in the source view.
- Markdown Viewer: Render markdown syntax, block/inline equations (
flutter_math_fork), and search highlights in raw text. - HTML Viewer: Switch between styled WebView previews and monospace code editing with search highlights.
- Enhanced Audio Player: Scan directories, auto-queue tracks, navigate next/prev, and queue tracks interactively using a sliding bottom sheet.
- Video Player Speed Control: Toggle playback speeds directly from the video interface, implemented brightness and volume gestures.
- Image Merger: Multi-select images and stitch them vertically or horizontally into a single output JPEG.
- Auto-Trigger Search: Debounced search-on-type execution immediately fires when query lengths hit 2+ characters.
- AI Semantic Search: Integrates semantic matching with OCR support and provides similarity scores (e.g.
Semantic match score: 92%) shown in search results.
- Modular Terminal Stack: Composes
terminal-emulator,terminal-view, andlink2symlinkinto a unified codebase. - Ubuntu/PRoot Environment: Provisions an isolated Ubuntu container using PRoot with customizable setup scripts.
- Session Management: Keeps track of active terminal sessions with persistence and quick-reset settings.
- Editor Workflow Run-Program Flow: Hooks directly into the built-in text editor to execute scripts and programs instantly.
- Split APK Installation: Support for
.apks,.xapk, and.apkmsplit bundles with session install progress indicators. - "Open With" History: Bubbles recently used applications to the top of the dialog based on file extensions.
- Open In New Button: Launch a file directly with alternative system apps via the quick action bar.
| Technology | Purpose | Version |
|---|---|---|
| Kotlin | Programming Language | 2.2.0 |
| Jetpack Compose | Modern Declarative UI Framework | 2025.07.00 |
| Android SDK | Native Android Platform APIs | API 36 (Android 15+) |
| androidx.pdf | Native PDFium-backed document viewer | 1.0.0-alpha19 |
| SSHJ | SFTP connections and SSH port-forwarding | 0.39.0 |
| Zip4j | Comprehensive ZIP archive handling & encryption | 2.11.5 |
| ZXing | Offline QR Code generation | 3.5.3 |
| ONNX Runtime | Offline AI semantic vector search models | 1.22.0 |
| Sora Editor | Syntax-highlighted text and code editor | 0.23.6 |
- JDK: 17 or higher
- Android SDK: API level 36+
- Git: For cloning the repository
-
Clone the repository:
git clone https://github.com/techflyers/Prism-File-Explorer.git cd Prism-File-Explorer -
Build the application: To compile a debugging version or run tests:
./gradlew assembleDebug
To compile the optimized release binaries split by target CPU architecture (ARMv7, ARM64, x86, x86_64):
./gradlew assembleRelease
-
Find the APKs:
- Universal and CPU-split APKs will be located in
app/build/outputs/apk/release/orapp/build/outputs/apk/debug/.
- Universal and CPU-split APKs will be located in
Prism File Explorer is distributed directly via GitHub Releases (sideloaded APK). Security scanners or Google Play Protect may present warnings on newly published builds due to advanced developer tools:
- In-App Linux Terminal (PRoot): An optional user-space Linux environment powered by PRoot (the same class of engine used by Termux). Antivirus engines may flag this with dual-use labels such as
Tool.Linux.Proot.1orhacktool.proot. This is an intentional power-user utility, not a root exploit or trojan. - APK Bundle Merge & Install: Merging split APK bundles (
.apks/.xapk) produces an installable APK signed on-device with a unique, app-local cryptographic key (never the public AOSP testkey). - Internet Sharing Tunnel: Web sharing establishes reverse proxy tunnels using an on-device generated SSH key and Trust-On-First-Use (TOFU) host verification, without baked-in private keys.
- Privileged Access: Root access is strictly opt-in and is never probed automatically on application startup.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Kotlin coding conventions
- Write meaningful commit messages
This project is licensed under the GNU General Public License v3.0.
Prism File Explorer - A modern Android file manager
Copyright (C) 2024 Raival-e
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
See the LICENSE file for the full license text.
| Platform | Purpose |
|---|---|
| GitHub Issues | Bug reports, feature requests |
| GitHub Discussions | Community support, questions |
| Private inquiries |
β If you find this project useful, please consider giving it a star !










