Introduzione
Premetto che sto usando Lineage OS 21 (Android 14) su un Sony Xperia 2 Plus (H4413) del 2018, il miglior smartphone che abbia mai avuto il piacere di acquistare (per mille motivi). Queste informazioni si possono applicare anche a ROM stock o ufficiali, ADB è uno strumento di debug nativo di Android, non è un root o un attrezzo da hacker!
Lo smartphone è caduto ed ho scheggiato lo schermo, così da impedirmi di usare il touch: appena lo tocco partono dieci altri tocchi e succede il finimondo.
Ho collegato il telefono al computer (Ubuntu 24.04.1) tramite cavo USB-C. La SIM era ancora inserita. Avevo a suo tempo attivato il Debug USB ed autorizzato permanentemente il mio notebook. Leggi qui come attivare il debug USB e perché è una delle prime cose da fare quando si acquista un nuovo telefono)
Collegarlo via USB
Quindi, ho installato una magnifica applicazione sviluppata dal francese Romain Vimont che fino a qualche anno fa lavorava in Genymotion . L’app si chiama scrcpy (screen copy) e fa “semplicemente” questo: il mirror dello schermo del dispositivo Android. Si installa con qualche comando impartito seguendo le istruzioni sulla repository Github, è multi-piattaforma (l’ho usato con successo su Windows 11) e apre un ampio ventaglio di possibilità. Si può usare anche via Wi-Fi, ma per ora usiamolo via USB.
Il comando con cui l’ho lanciato, da dentro uno script sh per non doverlo digitare ogni volta, è il seguente:
#!/bin/bash nohup scrcpy --show-touches --turn-screen-off --stay-awake --power-off-on-close --disable-screensaver --shortcut-mod=rctrl --require-audio --push-target=/sdcard/Download > sony-scrcpy.log
Nohup è un magnifico comando per lanciare dei comandi da shell senza dover tenere aperta la finestra del terminale. Il log viene registrato nel file specificato. la finestra si può chiudere dal bottone in alto a destra, usando Ctrl+C ovviamente si interrompe anche il programma e scrcpy si chiude.
Si potrebbero avere anche più dispositivi collegati, che saranno elencati dal comando “adb devices” con il nome e un numero seriale. Servirà aggiungere a scrcpy un ulteriore parametro per specificare il seriale cui si vuole collegare: –serial=AA66778899
A questo punto avevo tutto il telefono, perfettamente funzionante, collegato al pc. Per le chiamate ho indossato degli auricolari Bluetooth.
Collegarlo via WiFi, anche da Internet
Seguendo le istruzioni della guida Attivare Debug USB e autorizzare (senza scadenza) il PC avrai già attivato il debug wireless. La prima volta ci si deve sempre collegare tramite USB, per autorizzare il computer. Da adesso in poi, però, si potrà fare anche via WiFi.
Il mio dispositivo è collegato a una rete Tailscale, per cui questo e altri apparecchi sono come all’interno di una rete VPN sempre attiva, che mi permette di accedere al NAS o stampare in casa anche se sono in un altro continente.
Ho realizzato un semplice script bash per automatizzare le operazioni di collegamento:
#!/bin/bash
#impostazione indirizzi IP
xa2wify=192.168.1.xxx
xa2tail=100.67.xxx.xxx
s4wifi=192.168.1.xxx
#funzioni per il lancio del comando
function viatcp {
nohup scrcpy --tcpip=$1:5555 --show-touches --turn-screen-off --stay-awake --power-off-on-close --disable-screensaver --shortcut-mod=rctrl --push-target=/sdcard/Download > ~/scrcpy-$1.log
}
function viausb {
nohup scrcpy --show-touches --turn-screen-off --stay-awake --power-off-on-close --disable-screensaver --shortcut-mod=rctrl --push-target=/sdcard/Download > ~/scrcpy-usb.log
}
#menu di scelta
echo "Seleziona il device"
echo "-------------------"
echo "1 - Adb via USB"
echo "2 - Sony Xperia via Wireless"
echo "3 - Sony Xperia via Tailscale"
echo "4 - Samsung Tab S4 via WiFi"
echo "9 - Exit"
echo "-------------------"
echo -n "Digita il numero scelto: "
read -r scelta
case $scelta in
1) viausb ;;
2) viatcp $xa2wify ;;
3) viatcp $xa2tail ;;
4) viatcp $s4wifi ;;
9) exit ;;
*) echo "Scelta non corretta, riprova" ;;
esac
sleep 3
exitConsiderazioni finali
Finora non ci siamo posti il problema della sicurezza… in effetti a vederla così sembra che chiunque si colleghi alla stessa rete potrebbe fare quello che gli pare con il mio dispositivo… Facciamo attenzione, però.
Prima di tutto bisogna essere collegati alla stessa rete, pertanto meglio evitare di collegarsi a qualsiasi WiFi e, se proprio non se ne può fare a meno, solo dopo aver attivato una VPN (e Tailscale può tornare utile anche in questo, se si attiva un exit node nella LAN privata, ad esempio un NAS).
Poi si deve autorizzare il dispositivo che chiede un collegamento via ADB, la prima volta: viene da sé che se dovessi vedere una richiesta e non sono stato io a farla, la rifiuterei e spegnerei il debugging.
Ultima ratio: disattivare il debugging ed attivarlo solo dove e quando necessario, ma se lo avessi fatto… con il piffero che ora avrei potuto usarlo questo smartphone, visto che lo schermo è crepato.