A Material You designed Android device file manager that enables remote file operations via ADB connection.
ADB File Manager is a desktop application that allows you to remotely browse and manage Android device file systems via ADB connection. Built with a modern Material You interface using Jetpack Compose, it offers a smooth user experience and elegant animation effects.
- π¨ Material You Design - Modern UI design following Google's latest design language
- π± Multi-device Support - Connect to and manage multiple Android devices
- π Intuitive File Navigation - File browser with path navigation bar, supporting path jump by clicking
- π Directory Navigation - Easy directory traversal with breadcrumb navigation, allowing instant jumps to parent directories
- π File Editing - Built-in text editor for editing text files on the device
- π Permission Check - Smart detection and prompting for file operation permission issues
- π Real-time Feedback - Real-time status feedback for all operations
- π₯ File Transfer - Support for downloading files from and uploading files to devices
- π Dark/Light Theme - Toggle between dark and light themes for comfortable viewing in any environment
- π File Creation - Create new text files with custom content directly on the device
- π File Search - Search for files and directories within the current directory
- π Advanced Sorting - Sort files by name, type (folders first or files first), date, and size in ascending or descending order
- π Folder Import - Import entire folders from local system to device with a single click
- π Bookmarks - Save frequently accessed directories as bookmarks for quick navigation
- π Grid View - Toggle between list and grid view modes for better visual representation of files
- πΌοΈ Drag and Drop File Upload/Download - Easily upload files by dragging and dropping them into the application, and download files by dragging them out
- Kotlin - Primary development language
- Jetpack Compose - Modern UI toolkit
- ADB - Android Debug Bridge tool
- Coroutines - Handling asynchronous operations
- Flow - Reactive data streams
-
Clone the repository
git clone https://github.com/AdbFileManager.git cd AdbFileManager -
Build with Gradle
./gradlew build
-
Run the application
./gradlew run
-
Connect a device:
- Ensure USB debugging is enabled on your device
- Connect the device to your computer
- Select your device from the dropdown menu
-
Browse files:
- Click on folders to enter them
- Use the path navigation bar to quickly jump to parent directories
- Click the refresh button to update the file list
-
File operations:
- Click the menu button next to a file to see available actions
- Edit: Modify text file content
- Download: Save the file to your local computer
- Delete: Remove the file from the device
-
Create folder:
- Click the "New Folder" button in the toolbar
- Enter a folder name and confirm
-
Create file:
- Click the "New File" button in the toolbar
- Enter a file name and optional content
- Confirm to create the file in the current directory
-
Import files and folders:
- Click the "Import File" button to upload a single file
- Click the "Import Folder" button to upload an entire folder
- Select the file or folder from your local system
- The content will be automatically uploaded to the current directory
-
Toggle theme:
- Click the theme icon in the toolbar
- Select between system default, light theme, or dark theme
-
Search files:
- Click the search icon in the toolbar
- Enter your search query
- Results will be displayed in real-time
-
Sort files:
- Click the sort icon in the toolbar
- Choose from various sorting options:
- Type (folders first or files first)
- Name (A-Z or Z-A)
- Date (oldest or newest)
- Size (smallest or largest)
- File permission modification
- File preview functionality
- Multiple files selection for batch operations
Contributions, issue reports, and feature suggestions are welcome! See CONTRIBUTING.md for details.
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Submit a Pull Request
This project is released under the MIT License - see the LICENSE file for details.