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 APKsconstautomation=newDeviceAutomation(deviceController);constresults=awaitautomation.batchInstallApks(deviceId,['/path/to/app1.apk','/path/to/app2.apk']);// Monitor device performance for 60 secondsconstmetrics=awaitautomation.monitorPerformance(deviceId,60000);console.log('CPU Usage:',metrics.summary.cpu.avg);// Automated app testingconsttestActions=[{type: 'tap',x: 500,y: 1000},{type: 'swipe',x1: 300,y1: 800,x2: 300,y2: 400},{type: 'text',text: 'Hello World'}];awaitautomation.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
- 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
androidadbphonecontrolautomationremotemanagementscrcpymirroringstreamingwifiwirelessusbdebuggingfastapielectrondockernodejsreactapidashboardmonitoringscriptingtestingqadeploymentcrossplatformperformanceoptimizationscreenshotsrecordingfiletransferbackuprestoreshellcommandstelemetrynotificationsorchestrationmulti-deviceanalyticsproductivitytroubleshootingdevopsenterprisesupportintegrationworkflowroadmap
