|
1 | | -# droidcpy |
2 | | - A GUI for scrcpy |
| 1 | +# droidmgr |
| 2 | + |
| 3 | +A GUI frontend for scrcpy and device manager for Android written in Python using tkinter. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- **Device Management**: List and manage all connected Android devices |
| 8 | +- **Screen Mirroring**: Start/stop screen mirroring using scrcpy |
| 9 | +- **Process Management**: View and kill running processes on devices |
| 10 | +- **App Management**: List, start, and stop installed applications |
| 11 | +- **File Management**: Browse, download, upload, and delete files on devices |
| 12 | +- **Auto-Setup**: Automatically downloads and installs ADB if not found |
| 13 | +- **Native Theming**: Uses the native theming of your operating system |
| 14 | + |
| 15 | +## Installation |
| 16 | + |
| 17 | +### Prerequisites |
| 18 | + |
| 19 | +The application uses only Python's standard library, but requires system dependencies: |
| 20 | + |
| 21 | +1. **scrcpy** - For screen mirroring |
| 22 | + - Linux: `sudo apt install scrcpy` |
| 23 | + - macOS: `brew install scrcpy` |
| 24 | + - Windows: Download from [scrcpy releases](https://github.com/Genymobile/scrcpy/releases) |
| 25 | + |
| 26 | +2. **ADB** - Will be downloaded automatically if not found |
| 27 | + |
| 28 | +### Running |
| 29 | + |
| 30 | +Simply execute the main entry point: |
| 31 | + |
| 32 | +```bash |
| 33 | +python3 droidmgr.py |
| 34 | +``` |
| 35 | + |
| 36 | +Or make it executable: |
| 37 | + |
| 38 | +```bash |
| 39 | +chmod +x droidmgr.py |
| 40 | +./droidmgr.py |
| 41 | +``` |
| 42 | + |
| 43 | +## Usage |
| 44 | + |
| 45 | +1. **Connect your Android device** via USB or WiFi ADB |
| 46 | +2. **Enable USB debugging** in Developer Options on your device |
| 47 | +3. **Run droidmgr**: `python3 droidmgr.py` |
| 48 | +4. **Select a device** from the Devices tab |
| 49 | +5. **Use the tabs** to manage processes, apps, or files |
| 50 | +6. **Click "Start Mirroring"** to begin screen mirroring |
| 51 | + |
| 52 | +## Development |
| 53 | + |
| 54 | +The codebase is designed with clean separation: |
| 55 | + |
| 56 | +- **Core modules** are UI-agnostic and can be used independently |
| 57 | +- **UI modules** only handle presentation and user interaction |
| 58 | +- **Threading** is used for long-running operations to keep UI responsive |
| 59 | +- **Error handling** provides user-friendly messages for common issues |
| 60 | + |
| 61 | +## License |
| 62 | + |
| 63 | +All the code in this repository are released under the Mozilla Public License 2.0. See [LICENSE](LICENSE) file for details. |
0 commit comments