scrcpy è un programma libero e open source. Mostra sul computer lo schermo di un telefono Android e permette di comandarlo con la tastiera e il mouse del PC. Da Android 11 porta sul computer anche l’audio. Non servono i permessi di root e sul telefono non va installata nessuna app. Funziona su Windows, macOS e Linux. Questa guida spiega come installarlo, come collegare il telefono via cavo e via Wi-Fi e quali opzioni video alleggeriscono il lavoro. I comandi sono quelli della documentazione ufficiale, elencata in fondo.
Cosa serve
- Uno smartphone con almeno Android 5.0 (API 21). Per sentire l’audio del telefono sul computer serve Android 11 o successivo. Su Android 11 devi sbloccare lo schermo prima di avviare scrcpy, altrimenti la cattura audio fallisce.
- Un computer con Windows, macOS o Linux. Ci sono pacchetti ufficiali per Windows a 64 bit, a 32 bit e ARM a 64 bit, per macOS su Apple Silicon (aarch64) e su Intel (x86_64) e per Linux x86_64.
- Un cavo USB per il primo collegamento. Con Android 11 e successivi puoi collegarti anche senza cavo.
- adb, lo strumento che scrcpy usa per comunicare con il telefono. Alcuni metodi di installazione lo aggiungono da soli; per il resto vedi la nostra guida su platform-tools.
- Per il Wi-Fi, telefono e computer collegati alla stessa rete.
La versione più recente indicata dalla documentazione è la 5.0.1. Il README del progetto avverte che l’unica fonte ufficiale è il repository GitHub di Genymobile. Non scaricare scrcpy da altri siti, anche se il nome del file sembra giusto.
Attivare le Opzioni sviluppatore e il debug USB
scrcpy passa da adb, e adb può usare un telefono collegato via USB solo se è attivo il debug USB. La voce si trova nelle Opzioni sviluppatore. Secondo la documentazione di adb, da Android 4.2 (livello API 17) quel menu è nascosto per impostazione predefinita.
- Rendi visibili le Opzioni sviluppatore seguendo le istruzioni di Android a cui rimanda la pagina di adb. Su telefoni di marche diverse la voce può trovarsi in menu diversi.
- Entra nelle Opzioni sviluppatore e attiva «Debug USB».
Su alcuni telefoni, soprattutto Xiaomi, va attivata anche una seconda voce: «USB debugging (Security Settings)». È diversa dal semplice debug USB, e senza di essa non puoi comandare il telefono con tastiera e mouse. Dopo averla attivata bisogna riavviare il telefono una volta.
Installare scrcpy su Windows
Su Windows il metodo più comodo è WinGet, che installa scrcpy con adb e le altre dipendenze.
winget install --exact Genymobile.scrcpy
Con Chocolatey o Scoop il pacchetto si chiama semplicemente scrcpy. In questi due casi adb non arriva insieme al programma: se non lo hai già, installa con lo stesso gestore anche il pacchetto adb, come indica la pagina Windows della documentazione.
choco install scrcpy
scoop install scrcpy
Se non vuoi usare un gestore di pacchetti, scarica l’archivio scrcpy-win64-v5.0.1.zip dalla stessa pagina ed estrailo in una cartella. Lì trovi anche le versioni win32 e winarm64, ognuna con il suo SHA-256.
scrcpy si usa dalla riga di comando. Nella cartella estratta, fai doppio clic su open_a_terminal_here.bat: si apre un terminale già nella cartella giusta. Per avviarlo senza console c’è scrcpy-noconsole.vbs, ma in quel caso gli eventuali errori non vengono mostrati.
Installare scrcpy su macOS
Su macOS scrcpy è disponibile in Homebrew.
brew install scrcpy
Homebrew non installa adb, che deve essere raggiungibile dal PATH. Se non ce l’hai, aggiungi i platform-tools.
brew install --cask android-platform-tools
In alternativa puoi usare MacPorts, che configura adb da solo. Il comando chiede la password di amministratore.
sudo port install scrcpy
Se non vuoi usare un gestore di pacchetti, scarica la build statica adatta al tuo Mac dalla pagina macOS della documentazione ed estrai l’archivio. Per Apple Silicon il file è scrcpy-macos-aarch64-v5.0.1.tar.gz, per i Mac Intel è scrcpy-macos-x86_64-v5.0.1.tar.gz. Il programma si avvia sempre dal Terminale.
Installare scrcpy su Linux
Molte distribuzioni hanno scrcpy nei repository. La pagina Linux della documentazione però avverte che due pacchetti contengono una versione obsoleta: quello di Debian/Ubuntu e quello di Snap. Su Debian e Ubuntu questo comando non dà la 5.0.1.
apt install scrcpy
Su Arch Linux il pacchetto si installa con pacman.
pacman -S scrcpy
Su Fedora prima si attiva un repository COPR, cioè un repository esterno a quelli ufficiali della distribuzione, e poi si installa il pacchetto.
dnf copr enable zeno/scrcpy && dnf install scrcpy
Se vuoi la 5.0.1 e la tua distribuzione offre solo il pacchetto apt o Snap, scarica la build statica ufficiale per x86_64, scrcpy-linux-x86_64-v5.0.1.tar.gz, ed estraila. Il suo SHA-256 è pubblicato nella stessa pagina.
Collegare il telefono via cavo e avviare scrcpy
Prima del collegamento USB, su Windows installa il driver USB per ADB, se applicabile. Su Ubuntu verifica che il tuo utente appartenga al gruppo plugdev e che siano installate regole udev che coprano il telefono: il pacchetto android-sdk-platform-tools-common ne contiene un insieme. Dopo aver aggiunto l’utente al gruppo, esci e accedi di nuovo. Collega quindi il telefono al computer con il cavo USB e controlla che adb lo veda con questo comando.
adb devices
La prima volta il telefono mostra una finestra che chiede di accettare la chiave RSA del computer: confermala. Secondo la documentazione di adb è un controllo di sicurezza: il debug non parte finché non sblocchi il telefono e confermi. Se funziona, accanto al numero di serie compare lo stato device. Se compare offline, il telefono non è connesso ad adb oppure non risponde.
Se c’è un solo dispositivo collegato, scrcpy lo sceglie da solo.
scrcpy
Si apre una finestra con lo schermo del telefono, che puoi comandare con mouse e tastiera. Alcune scorciatoie utili:
- clic destro: tasto Indietro;
- clic centrale: tasto Home;
- Alt+f: attiva e disattiva lo schermo intero.
Per chiudere scrcpy chiudi la finestra oppure premi Ctrl+C nel terminale. L’elenco completo delle opzioni si trova nell’aiuto integrato. Su macOS e Linux c’è anche la pagina di manuale.
scrcpy --help
man scrcpy
Passare al Wi-Fi con il debug wireless (Android 11 e successivi)
Da Android 11 il telefono può collegarsi ad adb via Wi-Fi senza mai usare il cavo. La pagina Connection di scrcpy lo presenta come alternativa al metodo che parte dal cavo. Telefono e computer devono essere sulla stessa rete.
- Nelle Opzioni sviluppatore tocca «Debug wireless» («Wireless debugging» in inglese) e consenti il debug sulla rete. Se spunti «Consenti sempre su questa rete», quella rete diventa attendibile e il telefono accetterà il debug wireless ogni volta che ti ci colleghi. Fallo solo con una rete di cui ti fidi, come quella di casa.
- Scegli «Accoppia utilizzando il codice di accoppiamento» («Pair using pairing code»). Prendi nota dell’indirizzo IP, della porta e del codice che compaiono sul telefono.
Ora abbina il computer al telefono. L’abbinamento autorizza quel computer a fare il debug del telefono finché non lo revochi, quindi fallo solo con un computer tuo. Nel comando, sostituisci ipaddr:port con l’indirizzo IP e la porta che leggi sul telefono, separati dai due punti. Quando il terminale lo chiede, scrivi il codice di accoppiamento.
adb pair ipaddr:port
L’abbinamento va fatto una volta sola. Poi la documentazione di adb chiede di verificare che il telefono risulti connesso: deve comparire nell’elenco con lo stato device.
adb devices
La connessione automatica tra telefono e computer si basa su mDNS, il sistema con cui adb trova i dispositivi in rete. Funziona in modo completo con adb Wi-Fi 2.0, introdotto con Android 17 e adb 37.0.0. Con versioni precedenti, o su reti che non supportano mDNS, il telefono può non comparire nell’elenco.
In quel caso la documentazione di adb indica due controlli. Il primo è adb server-status: nell’output la versione deve essere 37.0.0 o successiva (altrimenti aggiorna i platform-tools), deve comparire mdns_enabled: true (altrimenti imposta la variabile d’ambiente ADB_MDNS su 1) e deve comparire mdns_backend: LIBADBMDNS (altrimenti imposta la variabile d’ambiente ADB_MDNS_OPENSCREEN su 0). Dopo aver impostato le variabili, riavvia il server con adb kill-server e poi adb start-server. Il secondo è adb mdns track-services --proto-text, da lanciare con il debug wireless attivo: se l’output è vuoto, la rete non supporta mDNS. Se invece compare un servizio TLS con l’indirizzo IP e la porta del telefono, la rete è a posto.
Se dopo l’accoppiamento il telefono non compare in adb devices, torna alla schermata principale «Debug wireless» e leggi «Indirizzo IP e porta». Esegui adb connect IP:PORTA con quei valori: la porta di connessione è diversa da quella di accoppiamento. Verifica di nuovo con adb devices. Quando compare lo stato device, avvia scrcpy con l’opzione che sceglie il dispositivo connesso via TCP/IP, se ce n’è uno solo.
scrcpy --select-tcpip
Per togliere l’abbinamento, torna in «Debug wireless» sul telefono. Tocca il nome del computer nella sezione «Dispositivi accoppiati» («Paired devices») e scegli «Dissocia» («Forget»).
Passare al Wi-Fi partendo dal cavo: modo automatico
Secondo la documentazione di adb, su Android 10 e versioni precedenti questa è l’unica strada per arrivare al Wi-Fi. Va bene anche su Android 11 e successivi. Collega il telefono via USB e metti telefono e computer sulla stessa rete Wi-Fi.
Attenzione: il comando attiva sul telefono la modalità TCP/IP di adb, quindi il telefono accetta connessioni adb dalla rete. Dati e comandi viaggiano su un canale non criptato e possono essere intercettati: usalo solo su una rete di cui ti fidi. Su Android 11 e successivi puoi usare invece il debug wireless con accoppiamento, descritto sopra.
scrcpy --tcpip
scrcpy trova da solo indirizzo IP e porta del telefono e, se serve, attiva la modalità TCP/IP. Poi si collega e apre la finestra. Se il telefono è già in ascolto su una porta (di solito la 5555), puoi indicare direttamente l’indirizzo. 192.168.1.1 è l’indirizzo di esempio della documentazione: sostituiscilo con quello del tuo telefono, che trovi in Impostazioni → Info sul telefono → Stato.
scrcpy --tcpip=192.168.1.1:5555
Il segno + davanti all’indirizzo forza una nuova connessione. Anche qui sostituisci l’indirizzo di esempio con quello del tuo telefono.
scrcpy --tcpip=+192.168.1.1
Passare al Wi-Fi partendo dal cavo: modo manuale con adb
Puoi fare la stessa cosa a mano con adb. Collega il telefono via USB e mettilo sulla stessa rete Wi-Fi del computer. Per prima cosa ricava l’indirizzo IP del telefono, che trovi anche in Impostazioni → Info sul telefono → Stato.
adb shell ip route | awk '{print $9}'
Attenzione: il comando che segue mette il telefono in ascolto di connessioni adb dalla rete, sulla porta 5555, e da quel momento chi è sulla stessa rete può provare a collegarsi. Dati e comandi viaggiano su un canale non criptato e possono essere intercettati. Fallo solo su una rete di cui ti fidi. Il comando di disconnessione che trovi alla fine di questa sezione chiude la connessione dal lato del computer. La documentazione non dice che spenga la modalità TCP/IP sul telefono.
adb tcpip 5555
Stacca il cavo e collegati via rete. Nel comando, sostituisci DEVICE_IP con l’indirizzo IP che hai trovato prima.
adb connect DEVICE_IP:5555
Avvia scrcpy come al solito. Alla fine chiudi la connessione dal computer.
adb disconnect
Ridurre risoluzione, bitrate e fotogrammi
All’avvio scrcpy prova a trasmettere alla risoluzione del telefono. La pagina Video della documentazione spiega che una definizione più bassa migliora le prestazioni, e il README aggiunge che il guadagno può essere notevole. --max-size limita larghezza e altezza e mantiene le proporzioni del telefono: uno schermo 1920×1080 diventa 1024×576.
scrcpy --max-size=1024
Il bitrate predefinito del video è di 8 Mbps, e puoi abbassarlo.
scrcpy --video-bit-rate=2M
Puoi anche limitare i fotogrammi al secondo che il telefono cattura.
scrcpy --max-fps=15
Questa opzione stampa nella console quanti fotogrammi vengono catturati davvero. Il frame rate cambia di continuo, perché un fotogramma nuovo arriva solo quando lo schermo cambia.
scrcpy --print-fps
Scegliere codec, encoder e decodifica sul computer
Il codec predefinito è h264, ma puoi scegliere anche h265, av1, vp8 e vp9. H.265 può dare una qualità migliore, mentre H.264 dovrebbe avere una latenza più bassa. Gli encoder AV1 sono rari sui telefoni Android attuali.
scrcpy --video-codec=h265
Sul telefono possono esserci più encoder. Questo comando li elenca, ed è utile quando quello predefinito dà problemi o si blocca.
scrcpy --list-encoders
Il video viene decodificato sul computer. Di serie scrcpy usa il primo decoder hardware disponibile e, se non ne trova, passa alla decodifica software. È lo stesso comportamento che ottieni scrivendo l’opzione in modo esplicito.
scrcpy --hwdec=auto
Per forzare la decodifica software:
scrcpy --hwdec=disabled
Puoi anche chiedere un decoder hardware preciso. Ognuno funziona su un solo sistema:
| Valore di –hwdec | Decoder | Sistema |
|---|---|---|
| vaapi | VA-API | Linux |
| d3d11va | D3D11VA | Windows |
| videotoolbox | VideoToolbox | macOS |
scrcpy --hwdec=vaapi
scrcpy --hwdec=d3d11va
scrcpy --hwdec=videotoolbox
La decodifica hardware è supportata solo quando la riproduzione del video è attiva e V4L2 è disattivato. Su Linux, VA-API richiede che il renderer usi EGL e che sia installato il driver VA-API della scheda video. Su Debian e Ubuntu il pacchetto è va-driver-all.
Se qualcosa va storto
- Il mouse e la tastiera non comandano il telefono (soprattutto sugli Xiaomi). Se compare l’errore qui sotto, attiva anche «USB debugging (Security Settings)» e riavvia il telefono.
Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.
- Ci sono più dispositivi collegati. adb risponde con l’errore «adb: more than one device/emulator», e anche scrcpy deve sapere quale dispositivo usare. Per un dispositivo in rete usa
--select-tcpip. Per gli altri casi la pagina Connection spiega come indicarlo con il numero di serie. - La connessione Wi-Fi si interrompe. Controlla che computer e telefono siano ancora sulla stessa rete e ripeti il collegamento con adb connect. Se il problema continua, la documentazione di adb consiglia di riavviare il server adb e di ricominciare da capo.
- Il debug wireless non trova il telefono. Ricontrolla i requisiti (stessa rete, Android 11 o successivo), aggiorna i platform-tools all’ultima versione e fai i due controlli su versione di adb e mDNS descritti nella sezione sul debug wireless.
- Il decoder hardware scelto non funziona. Con
--hwdec=auto, se il decoder hardware non riesce a decodificare il flusso, scrcpy passa alla decodifica software. Se hai chiesto un decoder preciso, per esempio vaapi, scrcpy si ferma con un errore. In quel caso torna ad auto oppure usa disabled. - La codifica non riesce. scrcpy riprova da solo con una definizione più bassa. Se il problema è l’encoder predefinito, elenca gli altri con
--list-encoderse provane uno diverso.
Documentazione di riferimento
Pagine ufficiali consultate il 14 ottobre 2026:
- scrcpy, README
- scrcpy, installazione su Windows
- scrcpy, installazione su macOS
- scrcpy, installazione su Linux
- scrcpy, Connection
- scrcpy, Video
- Android Developers, Android Debug Bridge (adb)