Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Android Backup Professional

Android Python Flask Windows License

Professional Android Backup Tool with Web Interface, Streaming Pipeline & Resume Support

Features β€’ System Requirements β€’ Installation β€’ Usage Guide β€’ Troubleshooting


πŸ“Έ Screenshots

Android Backup Professional UI
Web interface with File Manager, Real-time Progress, and Activity Log

✨ Features

πŸš€ Core Features

  • Streaming Pipeline – Data streams directly from Android to computer without temporary files.
  • ADB exec-out – Uses optimized adb exec-out for maximum transfer speed.
  • No Temp Files – Direct streaming pipeline: Android β†’ tar β†’ adb β†’ Windows tar β†’ Destination.
  • Real-time Progress – Live monitoring with speed, ETA, percentage, and file count.

πŸ“‚ File Manager

  • Browse Android Folders – Navigate your Android file system directly from the web UI.
  • Show/Hide Files – Toggle between viewing folders only or all items.
  • Smart File Icons – Visual distinction for images, videos, audio, documents, and archives.
  • Quick Navigation – One-click shortcuts to Home (/sdcard/), DCIM, and parent folders.

πŸ’Ύ Backup Controls

  • Flexible Destination – Choose any Windows folder with a built-in native folder browser.
  • Open Output Folder – Open the backup destination directly in Windows Explorer from the UI.
  • Resume Support – Auto-detect and seamlessly resume interrupted backups.
  • Stop/Start Controls – Full control to pause or cancel the backup process at any time.

πŸ“Š Real-time Monitoring

  • Progress Bar – Visual percentage indicator.
  • Speed Tracking – Displays current and average transfer speeds.
  • ETA Calculator – Smart estimation of remaining time.
  • Activity Log – Timestamped, color-coded event logging for easy debugging.

πŸ–₯️ System Requirements

Requirement Details
OS Windows 10 / 11 (Native)
Python 3.10 or higher
ADB Android Platform Tools (installed and added to system PATH)
Android Device with USB Debugging enabled
Browser Chrome, Firefox, Edge, or any modern web browser

πŸ“¦ Installation

1. Clone Repository

git clone [https://github.com/DeJavi08/ADB-FileManager.git](https://github.com/DeJavi08/ADB-FileManager.git)
cd ADB-FileManager

2. Install Dependencies

pip install -r requirements.txt

3. Setup ADB

  1. Download Android Platform Tools for Windows.
  2. Extract the zip file and add the folder path to your system PATH environment variable.

4. Enable USB Debugging on Android

  1. Go to Settings β†’ About Phone β†’ Tap Build Number 7 times.
  2. Go back to Settings β†’ System (or Developer Options) β†’ Enable USB Debugging.

5. Run the Application

python backup_app.py

6. Open Web Interface

Navigate to http://localhost:5000 in your browser.


πŸš€ Usage Guide

Quick Start

  1. Connect your Android device via USB with USB Debugging enabled.
  2. Launch the app and open http://localhost:5000.
  3. Browse or enter your target source folder (e.g., /sdcard/DCIM/).
  4. Select your backup destination folder on the computer.
  5. Click Start Backup and monitor the live progress.

File Manager Navigation

Action Description
Click Folder Navigate deeper into the selected directory.
Click "Select" Set the current folder as the backup source.
πŸ“· DCIM Quick jump straight to the camera folder.
🏠 Home Return to the root user storage (/sdcard/).
πŸ”„ Refresh Reload the current folder contents.
πŸ“„ Show/Hide Files Toggle the visibility of files within folders.

Backup Controls

Button Function
β–Ά Start Backup Begin the data streaming process.
⏹ Stop Gracefully halt the running backup.
πŸ“‚ Browse Open native Windows folder picker to choose destination.
πŸ“ Open Open the designated destination folder in Windows Explorer.

πŸ“ Project Structure

android-backup-professional/
β”œβ”€β”€ backup_app.py          # Main application executable
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ README.md              # Documentation
β”œβ”€β”€ Demo.png               # UI Preview Screenshot
β”œβ”€β”€ templates/
β”‚   └── index.html        # Web UI template
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── style.css     # UI Stylesheet
β”‚   └── js/
β”‚       └── app.js        # Frontend WebSocket & UI logic
β”œβ”€β”€ backup_states/        # Session state files for resume support (auto-created)
└── backup/               # Default local backup folder


βš™οΈ Configuration

Default Settings

  • Source Folder: /sdcard/DCIM/
  • Destination: backup (relative local directory)
  • Chunk Size: 1 MB
  • Auto-refresh: 30 seconds for connection state, 3 seconds for active status.

Custom Modification

You can directly edit backup_app.py to change:

  • chunk_size – Optimizes data packet streaming throughput.
  • ping_timeout – Adjusts WebSocket connection stability tolerances.
  • port – Server port binding (Default: 5000).

πŸ› οΈ Troubleshooting

❌ "No Android device connected"

Solution: Verify physical connection and ADB state:

# Check if device is properly recognized
adb devices

# If it returns an empty list, restart the ADB daemon
adb kill-server
adb start-server

❌ "Folder is empty" or size detection fails

Solution:

  • Ensure the target directory actually exists via shell: adb shell ls /sdcard/
  • Try standard pathways like /sdcard/Download/ to isolate permission locks.

❌ "ADB not available"

Solution: Ensure ADB is declared in system variables. Test availability globally using:

adb version

❌ Port 5000 already in use

Solution: Modify the port mapping inside backup_app.py:

# Change port argument from 5000 to 8080
socketio.run(app, host='0.0.0.0', port=8080)

πŸ”§ Advanced Details

File Type Detection Guide

Extension Icon Description
.jpg, .png, .gif πŸ–ΌοΈ Images
.mp4, .avi, .mkv 🎬 Videos
.mp3, .wav, .flac 🎡 Audio Tracks
.zip, .rar, .7z πŸ“¦ Compressed Archives
.pdf πŸ“• PDF Documents
.doc, .docx πŸ“˜ Word Documents
.xls, .xlsx πŸ“Š Spreadsheets
.apk πŸ“± Android Application Packages

πŸ“Š Performance Benchmarks

Scenario File Count Total Size Average Speed Memory Footprint
Photos Only ~1,000 2 GB 25–35 MB/s ~100 MB
Videos Only ~100 50 GB 30–40 MB/s ~150 MB
Mixed Media ~50,000 100 GB 20–30 MB/s ~200 MB

Note: Actual speeds depend heavily on your physical USB cable rating (USB 2.0 vs 3.0/C) and storage drive read/write caps.


⚠️ Limitations & Disclaimer

  • Platform Lock: Built specifically to leverage native Windows APIs (tar.exe); Linux and macOS environments are currently unsupported.
  • Data Responsibility: This tool acts as a transfer bridge. Always verify the byte size of completed backups before wiping your source device. The developers hold no liability for data loss.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ for the Android community

Report Bug β€’ Request Feature β€’ Star on GitHub

About

Professional Android backup tool with web interface. Streams data directly from Android to Windows via ADB exec-out with real-time progress, resume support, and file manager. Built with Python Flask, WebSocket, HTML5, CSS3, and JavaScript.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages