Before you begin
Make sure you have:- Scrcpy for Android installed on your controller device (the device you’ll use to control)
- A target device you want to mirror and control
- Both devices connected to the same Wi-Fi network
Both devices must be on the same local network. Public network connections are possible but require port forwarding configuration.
Enable ADB wireless debugging on the target device
The target device needs to have ADB wireless debugging enabled.Enable Developer Options
On your target device:
- Open Settings
- Navigate to About phone
- Tap Build number 7 times
- You should see a message: “You are now a developer!”
Enable ADB over network
- Go back to Settings
- Navigate to Developer options (usually under System)
- Scroll down to find Wireless debugging or ADB over network
- Enable the toggle
Note the IP address
Some devices display the IP address directly in the wireless debugging menu. If not:
- Go to Settings → About phone → Status
- Look for IP address (e.g.,
192.168.1.73) - Write down this IP address
Connect to the target device
Launch Scrcpy for Android
Open the app on your controller device. You’ll see the main screen with connection options.
Enter the target device IP
In the Remote Device IP address field, enter the IP address of your target device.Supported formats:
Configure settings
Select your preferred settings:
- Resolution: Start with
1280x720(recommended) - Bitrate: Start with
2 Mbps(recommended) - Delay Control: Start with
Medium (60ms)
Tap Start
Tap the Start button. You’ll see a “Connecting…” dialog.The app will:
- Connect to the target device via ADB
- Push
scrcpy-server.jarto/data/local/tmp/ - Set up port forwarding (local port 7008 → remote port 7007)
- Launch the server component
- Establish the mirroring connection
Accept ADB authorization
On your target device, you’ll see an authorization prompt:
- Check Always allow from this computer
- Tap OK
Some custom ROMs don’t show this prompt. If you don’t see it and the connection succeeds, you’re good to go.
Basic controls
Once mirroring is active, you can interact with the target device:Touch and gestures
- Single tap: Tap on the screen (same as tapping the target device)
- Drag: Touch and drag (same as swiping on the target device)
- Multi-touch: Use multiple fingers (fully supported)
- Pinch to zoom: Works just like on the target device
Special gestures
Wake the target device
Wake the target device
Double-tap anywhere on the screen to wake the target device from sleep.
Put target device to sleep
Put target device to sleep
- Cover the proximity sensor on your controller device
- Double-tap anywhere on the screen
Show local navigation bar
Show local navigation bar
Exit mirroring
Exit mirroring
Press the back button twice quickly. You’ll see a “Press again to exit” toast on the first press.This disconnects from the target device and returns to the main screen.
Navigation buttons (optional)
If you enabled “Bottom control button” in settings, you’ll see three navigation buttons:- < (Back): Sends Back key to target device
- ○ (Home): Sends Home key to target device
- = (Recent Apps): Sends App Switcher key to target device
Troubleshooting your first connection
Connection timed out
Connection timed out
If you see “Connection Timed out 2” or “Network OR ADB connection failed”:Check network connectivity:
- Verify both devices are on the same Wi-Fi network
- Ping the target device:
ping 192.168.1.73(from a computer) - Try disabling VPN on both devices
- Make sure ADB wireless debugging is enabled on the target device
- Verify the IP address is correct
- Try rebooting the target device
- Run
adb tcpip 5555again if you previously set it up via USB
- Some devices have built-in firewalls that block ADB
- Check if your router has AP isolation enabled (disable it)
Black screen after connecting
Black screen after connecting
If the connection succeeds but you see a black screen:
- Wait 5-10 seconds - initial setup can take time
- Try a lower resolution - start with 640x360
- Check orientation - the app detects portrait/landscape automatically
- Disconnect and reconnect - press back twice, then Start again
Screen rotation during mirroring triggers an automatic reconnection. This is normal and takes 1-2 seconds.
Server address empty
Server address empty
If you see “Server Address Empty” toast:
- Make sure you entered an IP address in the input field
- The field cannot be blank or contain only spaces
- Verify the format matches one of the supported formats (see Step 2)
ADB authorization rejected
ADB authorization rejected
Touch not working
Touch not working
If mirroring works but touch doesn’t respond:
- Check if “Viewing mode (no control)” is enabled - disable it
- Make sure you’re tapping within the mirrored screen area
- The app calculates touch coordinates based on aspect ratio - if the remote device has an unusual aspect ratio, touch may be offset
- Try disconnecting and reconnecting
Lag or stuttering
Lag or stuttering
If the mirroring is laggy:
- Lower the resolution: Try 800x448 or 640x360
- Lower the bitrate: Try 1 Mbps
- Increase delay control: Try High (100ms)
- Check network quality: Move closer to your Wi-Fi router
- Close other apps: Free up resources on both devices
Connection history
Scrcpy for Android automatically saves up to 30 recent connections. To access history:- Tap the history list icon next to the IP address field
- Select a previously used address from the popup
- The field is automatically filled with your selection
Connection history is stored locally on your device and is not shared or synced.
Public network connections
While Scrcpy for Android is designed for local network use, you can connect over public networks if:- The target device’s ADB port (5555) is accessible from the internet
- You know the public IP address or hostname
- Port forwarding is configured on the target device’s network
Next steps
Now that you’ve successfully connected, explore more features:Advanced configuration
Customize resolution, bitrate, and delay for optimal performance
Troubleshooting
Solve common connection and performance issues
