Advanced Android device control with modern web interface, wireless connectivity, and comprehensive automation features.
- Modern Web Interface - Beautiful, responsive UI with real-time controls
- Wireless ADB Connection - Connect devices over WiFi without USB cables
- Cross-Platform Support - Works on Windows, macOS, and Linux
- Advanced Automation - Batch operations, performance monitoring, and scripting
- Electron Desktop App - Native desktop experience with system integration
- Docker Support - Easy deployment with containerization
- Python API - FastAPI backend with comprehensive device management
- File Transfer - Drag-and-drop file transfers between device and computer
- Screen Recording - Built-in screen recording with customizable settings
- Real-time device discovery and management
- High-quality screen mirroring with scrcpy
- Remote shell access and command execution
- APK installation and management
- Device backup and restore
- Performance monitoring and optimization
- Network speed testing
- Automated app testing
- Node.js 18+
- Python 3.8+
- Android device with USB debugging enabled
# Clone the repository
git clone https://github.com/jtgsystems/Phone-Control-Project.git
cd Phone-Control-Project
# Install Node.js dependencies
npm install
# Install Python dependencies
pip install -r requirements.txt
# Start the application
npm start# Clone and start with Docker
git clone https://github.com/jtgsystems/Phone-Control-Project.git
cd Phone-Control-Project
# Start all services
docker-compose up -d
# Access the web interface
open http://localhost:3000# Install and start Electron app
npm install
npm run electron- Enable Developer Options on your Android device
- Enable USB Debugging in Developer Options
- Connect device via USB cable
- Authorize the connection when prompted
- First connect via USB to enable WiFi debugging
- Click "Enable WiFi" button for your device
- Note your device's IP address
- Click "WiFi Connect" and enter the IP address
- Disconnect USB cable - you're now wireless!
- Click "Start Mirror" to begin screen mirroring
- Use keyboard shortcuts for common actions
- Customize video quality in settings
- Click "Transfer Files" to upload/download files
- Drag and drop files directly onto the interface
- Monitor transfer progress in real-time
- Click "ADB Shell" to open command interface
- Execute any ADB command directly
- View command history and output
// Example: Batch install APKs
const automation = new DeviceAutomation(deviceController);
const results = await automation.batchInstallApks(deviceId, [
'/path/to/app1.apk',
'/path/to/app2.apk'
]);// Monitor device performance for 60 seconds
const metrics = await automation.monitorPerformance(deviceId, 60000);
console.log('CPU Usage:', metrics.summary.cpu.avg);// Automated app testing
const testActions = [
{ type: 'tap', x: 500, y: 1000 },
{ type: 'swipe', x1: 300, y1: 800, x2: 300, y2: 400 },
{ type: 'text', text: 'Hello World' }
];
await automation.testApp(deviceId, 'com.example.app', testActions);Phone-Control-Project/
βββ src/
β βββ api/ # Python FastAPI backend
β βββ ui/ # Web interface (HTML/CSS/JS)
β βββ core/ # Core device management
β βββ utils/ # Automation utilities
βββ Software/ # Bundled ADB and scrcpy
βββ electron-main.js # Electron desktop app
βββ docker-compose.yml # Docker deployment
GET /api/devices- List connected devicesPOST /api/connect-wifi- Connect via WiFiPOST /api/enable-wifi/{device_id}- Enable WiFi debugging
POST /api/scrcpy/start- Start screen mirroringPOST /api/scrcpy/stop- Stop screen mirroringPOST /api/screenshot/{device_id}- Take screenshot
POST /api/upload/{device_id}- Upload file to devicePOST /api/download/{device_id}- Download from device
POST /api/shell-command- Execute shell commandPOST /api/install-apk- Install APK filePOST /api/backup- Backup device data
# Web Server
PORT=3000
NODE_ENV=production
# API Server
API_HOST=0.0.0.0
API_PORT=8000
PYTHONPATH=/app
# Database
REDIS_URL=redis://localhost:6379{
"bitrate": "8M",
"maxSize": "1080",
"renderer": "opengl",
"stayAwake": true,
"showTouches": true
}- Concurrent Operations - Multiple devices handled simultaneously
- Efficient Streaming - Optimized video compression and transmission
- Memory Management - Smart resource cleanup and monitoring
- Network Optimization - Adaptive bitrate and connection pooling
- Input validation and sanitization
- Secure file upload handling
- Process isolation and sandboxing
- Authentication and authorization support
- Certificate validation for HTTPS
- Windows 10/11
- macOS 10.15+
- Linux Ubuntu 18.04+
- Android 5.0+ (API level 21+)
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Commit changes:
git commit -m 'Add feature description' - Push to branch:
git push origin feature-name - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Device not detected:
- Ensure USB debugging is enabled
- Try different USB cable/port
- Install device drivers (Windows)
Connection timeout:
- Check firewall settings
- Verify IP address is correct
- Ensure device and computer are on same network
Screen mirroring laggy:
- Reduce video bitrate in settings
- Lower maximum resolution
- Check network bandwidth
- π Documentation
- π Report Issues
- π¬ Discussions
- iOS device support
- Cloud deployment options
- Machine learning automation
- Plugin system for extensions
- Multi-language support
- Advanced scripting interface
Built with β€οΈ by JTG Systems
Empowering developers with advanced Android device control
android adb phone control automation remote management scrcpy mirroring streaming wifi wireless usb debugging fastapi electron docker nodejs react api dashboard monitoring scripting testing qa deployment crossplatform performance optimization screenshots recording filetransfer backup restore shell commands telemetry notifications orchestration multi-device analytics productivity troubleshooting devops enterprise support integration workflow roadmap
