Skip to content

riveracj/file_manager

Repository files navigation

# File Manager Pro A professional, feature-rich file manager app for Android built with Flutter. Perfect for deploying to the Google Play Store. ![Flutter](https://img.shields.io/badge/Flutter-3.9.2-blue.svg) ![Platform](https://img.shields.io/badge/Platform-Android-green.svg) ## Features ### 🎯 Core Features - **Beautiful Material 3 UI** - Modern, clean design with both light and dark themes - **File Browsing** - Browse all files and folders on your device - **Multiple View Modes** - Switch between list and grid views - **Storage Overview** - See storage usage at a glance - **Quick Access** - Fast access to Downloads, Camera, Documents, and Music folders ### 📁 File Operations - ✅ **Open Files** - Open any file with appropriate apps - ✅ **Create Folders** - Create new folders anywhere - ✅ **Rename** - Rename files and folders - ✅ **Delete** - Delete files and folders with confirmation - ✅ **Share** - Share files with other apps - ✅ **File Details** - View detailed file information ### 🔍 Advanced Features - **Search** - Search files by name - **Sort Options** - Sort by name, date, size, or type - **File Categories** - Quick access to Images, Videos, Audio, Documents, Archives, and Apps - **Permission Management** - Handles Android 13+ storage permissions properly ### 🎨 User Experience - Material You design - Smooth animations - Intuitive navigation - Back button support - Long-press for file options - Beautiful icons for different file types ## Installation & Setup ### Prerequisites - Flutter SDK (3.9.2 or higher) - Android Studio or VS Code - Android device or emulator ### Steps to Run 1. **Clone and navigate to the project** ```bash cd file_manager ``` 2. **Install dependencies** ```bash flutter pub get ``` 3. **Run the app** ```bash flutter run ``` ## Building for Release ### Create Release APK 1. **Build APK** ```bash flutter build apk --release ``` The APK will be located at: `build/app/outputs/flutter-apk/app-release.apk` 2. **Build App Bundle (Recommended for Play Store)** ```bash flutter build appbundle --release ``` The bundle will be located at: `build/app/outputs/bundle/release/app-release.aab` ## Preparing for Google Play Store ### 1. Update App Details Edit `android/app/build.gradle.kts`: ```kotlin android { defaultConfig { applicationId "com.yourcompany.filemanager" // Change this to your package name minSdk = 21 targetSdk = 34 versionCode = 1 versionName = "1.0.0" } } ``` ### 2. Create Keystore for Signing ```bash keytool -genkey -v -keystore ~/file-manager-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias filemanager ``` ### 3. Create `android/key.properties` ```properties storePassword= keyPassword= keyAlias=filemanager storeFile= ``` ### 4. Update `android/app/build.gradle.kts` for Signing Add before the `android` block: ```kotlin val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("key.properties") if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } ``` Inside the `android` block: ```kotlin signingConfigs { create("release") { keyAlias = keystoreProperties["keyAlias"] as String keyPassword = keystoreProperties["keyPassword"] as String storeFile = file(keystoreProperties["storeFile"] as String) storePassword = keystoreProperties["storePassword"] as String } } buildTypes { getByName("release") { signingConfig = signingConfigs.getByName("release") } } ``` ### 5. Prepare Store Listing You'll need: - **App name**: File Manager Pro (or your chosen name) - **Short description**: A powerful, elegant file manager for Android - **Full description**: Detailed description of features - **Screenshots**: At least 2 screenshots (1080x1920 recommended) - **Feature graphic**: 1024x500 image - **App icon**: 512x512 PNG - **Privacy policy**: Required for apps that access storage ### 6. Test Before Release ```bash flutter test flutter build apk --release # Test the release APK on real devices ``` ## Monetization Strategies ### 1. **Freemium Model** - Free version with ads - Pro version ($2-5) removes ads and adds premium features: - Cloud storage integration - Advanced file operations (copy, move, compress) - Themes customization - No ads ### 2. **In-App Purchases** - Premium features as IAP - Storage analyzer - Duplicate file finder - File encryption ### 3. **Ads Integration** Add these to `pubspec.yaml`: ```yaml google_mobile_ads: ^4.0.0 ``` ### 4. **Subscription Model** - Monthly/Yearly premium subscription - Cloud backup - Advanced features ## Future Enhancements - [ ] Cloud storage integration (Google Drive, Dropbox) - [ ] File compression/extraction - [ ] FTP/SFTP support - [ ] File encryption - [ ] Duplicate file finder - [ ] Storage analyzer with visual charts - [ ] Recent files - [ ] Favorites/Bookmarks - [ ] Multiple tabs - [ ] Dark mode customization - [ ] App themes - [ ] Backup/Restore ## Technical Details ### Architecture - **State Management**: Provider - **File Operations**: Dart IO + path_provider - **Permissions**: permission_handler - **File Opening**: open_filex - **Sharing**: share_plus ### Supported Android Versions - Minimum: Android 5.0 (API 21) - Target: Android 14 (API 34) - Full support for Android 13+ storage permissions ## Permissions Required ```xml ``` ## Contributing Feel free to fork this project and add your own features! ## License This project is open source and available under the MIT License. ## Support For issues, questions, or suggestions, please create an issue on GitHub. --- **Made with ❤️ using Flutter** # file_manager

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published