ShizuStore

NFile

Senzme

1.0.43 · GitHub

Download APK
File management Android 7.0+ 2 months ago GPL-3.0
204 ShizuStore
49k GitHub
420 Stars
63 MB Size

More about this app

File manager with Android folder access using Shizuku

NFile

A beautiful File Manager application built with Flutter.

Overview

NFile is designed to provide a highly aesthetic file management experience on Android. It features a stunning interface with an exclusive "Broken" icon pack, dynamic AMOLED-friendly dark mode, and a fluid user experience.

With the latest update, NFile transitions from a simple file explorer to a comprehensive media hub with built-in high-performance players and viewers.

Features

  • Premium UI/UX: A textured and alpha-blended aesthetic that gives a modern, glassmorphic feel to your file browsing.
  • Native Media Indexing: Lightning-fast gallery views for Images, Videos, and Audio using native device indexing. No more slow recursive scans.
  • Built-in Media Players:
    • High-Performance Video Player: Powered by media_kit for smooth playback of high-resolution videos.
    • Elegant Audio Player: Clean playback interface with album art support and precise seeking.
    • Pinch-to-Zoom Image Viewer: View your memories in full detail with smooth gestures.
  • Built-in Text Editor: View and edit .txt, .md, .json, and other code files directly within the app.
  • Advanced Sorting: Filter your media by Newest, Oldest, or Date-wise to find what you need instantly.
  • Complete File Operations: Easily copy, cut, paste, rename, and delete files or folders.
  • Quick Categories: One-tap access to your indexed media libraries.
  • Storage Overview: Visual representation of your device's internal storage usage.
  • Fluid UI: iOS-style bouncy physics and smooth transitions throughout the app.

Screenshots

Permissions

The application requires the following permissions for full functionality:

  • MANAGE_EXTERNAL_STORAGE: For seamless file operations across the entire device.
  • READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO: For high-speed native media indexing.

Building and Running

  1. Clone this repository.
  2. Run flutter pub get to install dependencies.
  3. Run flutter run on an Android device (API 21+ required).

Technologies Used

  • Flutter & Dart
  • State Management: provider
  • Media Engine: media_kit (Video & Audio playback)
  • Indexing: photo_manager & on_audio_query
  • Permissions: permission_handler
  • Viewers: photo_view & open_filex

License

GNU GPL v3 License

Close

How Shizuku is used

Can browse, create, copy, move, rename, delete and open files in restricted folders via `sh -c` through Shizuku.

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

Shizuku is used to manage files inside restricted folders that normal file access cannot reach, such as app data folders. All operations run as shell commands through Shizuku.

  • Browse restricted folders: open and list contents of restricted locations with file details such as type, size and modification time, using the stat shell command through Shizuku.
  • Delete files and folders: remove files and folders in restricted locations, including moving items to the recycle bin, restoring them and emptying the bin, using the rm shell command through Shizuku.
  • Rename, copy and move items: rename items, duplicate them and move them between folders in restricted locations using the mv and cp shell commands through Shizuku.
  • Create folders and files: create new folders and empty files in restricted locations using the mkdir and touch shell commands through Shizuku.
  • Open and edit restricted files: open restricted files in viewers or external apps and edit text files by copying them to a temporary location and copying changes back, using the cp shell command through Shizuku.

Android APIs or commands used

  • sh -c
  • stat
  • rm
  • mv
  • mkdir
  • touch
  • cp

Notable details

Regular storage locations work without Shizuku using standard file access. Shizuku is only needed for restricted paths such as Android/data, Android/obb and other protected directories.

Close

Changelog

What's new for version 1.0.43

new update. Here is what is new:

  • Added synchronized lyrics support with an interactive layout featuring chronological scrolling and custom tap-to-seek playback (#65).
  • Added support for loading .lrc files automatically from the song's directory, with a manual file picker option starting at the primary storage root (#65).
  • Added a customizable "Double-Press to Exit" option in General & Behavior settings to bypass the app exit confirmation dialog (#65).
  • Standardized the selection title header format across Images, Videos, Audio, Documents, Files, Downloads, APKs, and Screenshots to display selected/total counts (e.g., 7/60) without using the word "Selected" (#65).
  • Added quick categories caching to prevent loading skeleton screens and display media lists immediately on startup.
  • Optimized folder scrolling responsiveness and media lookup database query performance.
  • Optimized grid layout column scaling for tablet and widescreen displays.
  • Fixed a memory leak crash when extracting large zip/archive files.
  • Fixed a bug causing duplicate item size and count properties in the media category info panel.
  • Fixed drawer header styling/typography constraints in custom dark themes.
  • Fixed screenshots loading glitches and cached category sync.

Thank you so much! ❤️

Close

Permissions

21 permissions requested

  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.MANAGE_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_IMAGES
  • android.permission.READ_MEDIA_VIDEO
  • android.permission.READ_MEDIA_AUDIO
  • android.permission.ACCESS_MEDIA_LOCATION
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.REQUEST_DELETE_PACKAGES
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.PACKAGE_USAGE_STATS
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_DATA_SYNC
  • android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK
  • android.permission.POST_NOTIFICATIONS
  • android.permission.WAKE_LOCK
  • com.rubex.nfile.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close

Sources

3 sources

1.0.43 x86_64 GitHub · com.rubex.nfile
Selected Download
1.0.43 arm64-v8a GitHub · com.rubex.nfile
Download
1.0.43 armeabi-v7a GitHub · com.rubex.nfile
Download