Come installare APK senza cavo USB con ADB Wi-Fi e gestire Android da PC

Guida pratica ad ADB Wi-Fi: pairing tra PC e Android, installazione wireless degli APK, trasferimento file, shell, Logcat e altri comandi utili senza cavo USB.

Installare un pacchetto APK su Android dal PC non richiede necessariamente il collegamento dello smartphone tramite cavo USB. A partire da Android 11, ADB Wi-Fi (ADB è l’acronimo di Android Debug Bridge) permette di associare computer e dispositivo attraverso la rete locale in modalità wireless: si possono installare e rimuovere app, trasferire file, aprire una shell, consultare i log, acquisire schermate e impartire comandi al sistema.

La funzione è diventata ancora più interessante con Android 17 e ADB Wi-Fi 2.0, introdotto insieme agli Android SDK Platform-Tools 37.

Google ha migliorato soprattutto la capacità del dispositivo di ritrovare automaticamente un computer già associato quando entrambi tornano su una rete autorizzata. Il pairing, ovvero l’accoppiamento iniziale, rimane necessario ma non bisogna ripeterlo a ogni utilizzo.

Che cosa serve per usare ADB tramite Wi-Fi

Il debug wireless richiede Android 11 o successivo sullo smartphone. Android 17 introduce ADB Wi-Fi 2.0, ma non è indispensabile avere Android 17 per installare APK o impartire comandi ADB tramite la rete: sono possibilità già contemplate nelle versioni precedenti del sistema operativo.

Sul computer servono invece gli Android SDK Platform-Tools, il pacchetto ufficiale Google che contiene adb.exe su Windows e il corrispondente eseguibile su Linux e macOS. Non è necessario installare Android Studio se si vuole usare esclusivamente ADB da riga di comando.

Conviene scaricare sempre l’ultima versione dei Platform-Tools dalla pagina ufficiale Google ed estrarla in una cartella facilmente raggiungibile. Su Windows, ad esempio, possiamo usare:

C:\platform-tools

Aprendo Prompt dei comandi, PowerShell o Windows Terminal nella stessa directory, possiamo verificare la versione installata:

adb version

Controllo versione ADB Windows

Attivare le Opzioni sviluppatore e il Debug wireless

Sullo smartphone bisogna innanzitutto attivare le Opzioni sviluppatore. Il percorso cambia leggermente tra un produttore e l’altro, ma normalmente basta aprire le informazioni sul telefono e toccare ripetutamente (in rapida successione, almeno 7 volte di fila) la voce relativa al numero di build finché Android comunica l’attivazione delle opzioni per sviluppatori.

A questo punto si torna nelle impostazioni, si apre la sezione Opzioni sviluppatore e si abilita Debug wireless. Android chiede di autorizzare la rete Wi-Fi corrente; sulle versioni compatibili è possibile indicare che si tratta di una rete attendibile. È una scelta da fare soltanto sulle reti di cui ci si fida, ad esempio quella domestica o quella utilizzata per lo sviluppo.

Attivazione debug wireless ADB Android

Il primo collegamento richiede un’operazione di pairing. Nella schermata Debug wireless bisogna scegliere Associa dispositivo con codice di accoppiamento.

Pairing ADB wireless con codice di accoppiamento

Android mostra un codice numerico e un indirizzo composto da IP e porta, ad esempio: La porta cambia dinamicamente: non bisogna quindi copiare quella dell’esempio.

192.168.1.138:38375

Accoppiamento PC Android modalità wireless con ADB

Sul computer apriamo il terminale nella cartella Platform-Tools e digitiamo quanto segue (sostituendo, ovviamente, indirizzo IP e porta corretti):

adb pair 192.168.1.138:44813

ADB risponde chiedendo Enter pairing code. Basta inserire il codice numerico visualizzato sul telefono e premere Invio.

Pairing ADB Android da PC Windows

Dettaglio importante: la porta utilizzata per il pairing non è di solito la stessa porta utilizzata successivamente per la connessione ADB. È uno degli aspetti che generano più confusione quando il collegamento non funziona.

Il PC deve essere collegato per forza tramite Wi-Fi?

Se, da un lato, lo smartphone è collegato alla rete locale tramite Wi-Fi, il PC può esso stesso usare il collegamento wireless oppure un cavo Ethernet.

Immaginiamo un router domestico con rete 192.168.1.x: il PC collegato via Ethernet potrebbe avere indirizzo 192.168.1.20 e lo smartphone Wi-Fi 192.168.1.138. In una configurazione normale il collegamento ADB può funzionare senza problemi.

Le difficoltà compaiono soprattutto con reti guest, isolamento dei client Wi-Fi, VLAN separate o apparati che filtrano multicast e mDNS. In tali situazioni PC e telefono possono accedere entrambi a Internet ma non comunicare direttamente tra loro.

Dopo il pairing: verificare se Android si è collegato automaticamente

Una volta completato l’accoppiamento, eseguiamo:

adb devices

Se compare la parola device accanto all’indirizzo IP e alla porta del dispositivo Android oppure al suo identificatore, il collegamento è pronto. Da quel momento qualsiasi comando ADB può essere indirizzato allo smartphone attraverso la rete.

Con Android 17 e ADB Wi-Fi 2.0 proprio questo passaggio dovrebbe diventare molto più affidabile. Dopo il primo pairing, ADB utilizza mDNS per individuare il dispositivo già conosciuto e tenta automaticamente di ristabilire la connessione quando PC e smartphone si trovano nuovamente sulla rete autorizzata.

Come installare un APK via Wi-Fi con ADB

Arrivati a questo punto l’installazione di un APK è identica a quella effettuata via USB. Supponiamo di avere il file app.apk nella cartella corrente. Basta digitare:

adb install app.apk

ADB trasferisce il pacchetto attraverso la rete locale e chiede ad Android di installarlo. Non occorre copiare preventivamente il file nella memoria dello smartphone.

Possiamo specificarne anche il percorso completo:

adb install "C:\Download\app.apk"

Le virgolette diventano necessarie quando il percorso contiene spazi. Al termine dovrebbe comparire Success. L’applicazione è ora installata sul telefono, senza aver utilizzato alcun collegamento USB.

Questo approccio tornerà molto utile quando anche in Italia sarà attivata la verifica degli sviluppatori su Android. Usando il comando adb install, sarà possibile forzare l’installazione di file APK senza passare per gli store ufficiali.

Aggiornare un’app già installata senza perdere i dati

Se sul dispositivo esiste già la stessa applicazione e vogliamo installarne una nuova versione, è utile l’opzione -r:

adb install -r app.apk

ADB richiede ad Android di reinstallare il pacchetto mantenendo i dati dell’applicazione, a condizione che il nuovo APK sia compatibile con quello presente e utilizzi la firma prevista.

È particolarmente comodo durante lo sviluppo: si può compilare una nuova versione dell’app, inviarla tramite Wi-Fi e provarla immediatamente senza effettuare ogni volta una nuova installazione completa.

APK di test, split APK e file AAB: attenzione alle differenze

Non tutti i pacchetti Android corrispondono a un singolo APK tradizionale. Se un APK contiene il flag che lo identifica come pacchetto di test, ADB richiede l’utilizzo di un’opzione “ad hoc”:

adb install -t app.apk

Esistono inoltre applicazioni distribuite come split APK, cioè composte da più file che insieme formano l’applicazione. In questo caso il comando appropriato è install-multiple, ad esempio:

adb install-multiple base.apk config.arm64_v8a.apk config.it.apk

Un file .aab, Android App Bundle, invece non può essere passato direttamente a adb install. L’AAB rappresenta un contenitore dal quale devono prima essere generati gli APK destinati al dispositivo, ad esempio tramite bundletool.

Installare un APK quando sono collegati più dispositivi

Se ADB vede contemporaneamente uno smartphone, un tablet o magari un emulatore, il semplice comando adb install può produrre l’errore:

adb: more than one device/emulator

In tal caso prima eseguiamo:

adb devices

quindi specifichiamo esplicitamente il dispositivo attraverso il suo identificativo:

adb -s 192.168.1.138:39217 install app.apk

L’opzione -s è utile praticamente con qualsiasi comando ADB quando bisogna scegliere un dispositivo specifico.

ADB Wi-Fi non serve soltanto a installare APK

Una volta stabilita la connessione wireless, lo smartphone può essere gestito quasi come se fosse collegato tramite USB. Il punto di ingresso più potente è:

adb shell

Si apre così una shell Android dalla quale eseguire numerosi comandi direttamente sul dispositivo. Il prompt che appare non fornisce privilegi root: le operazioni disponibili dipendono dalle autorizzazioni assegnate all’utente ADB e dalle restrizioni imposte dal produttore.

Per ottenere alcune informazioni sul dispositivo, ad esempio, possiamo utilizzare:

adb shell getprop

oppure verificare la versione Android:

adb shell getprop ro.build.version.release

Per conoscere il livello API:

adb shell getprop ro.build.version.sdk

Come vedere tutte le app installate

ADB consente di interrogare direttamente il Package Manager Android. Il comando:

adb shell pm list packages

restituisce gli identificativi di tutti i pacchetti installati. Su Windows possiamo anche filtrare il risultato ottenuto:

adb shell pm list packages | findstr google

Se conosciamo il package name di un’applicazione possiamo rimuoverla con:

adb uninstall com.esempio.app

oppure cancellarne dati e impostazioni senza disinstallarla:

adb shell pm clear com.esempio.app

Quest’ultimo comando equivale sostanzialmente a riportare l’applicazione allo stato iniziale e comporta la perdita dei dati conservati dall’app stessa.

Copiare file dal PC ad Android e viceversa tramite Wi-Fi

Un’altra funzione molto utile è il trasferimento diretto dei file. Per copiare un documento dal computer nella cartella Download dello smartphone possiamo usare:

adb push "C:\Download\documento.pdf" /sdcard/Download/

Per effettuare l’operazione opposta:

adb pull /sdcard/Download/documento.pdf "C:\Backup\"

push trasferisce quindi dal PC al dispositivo; pull lavora nella direzione opposta.

Il trasferimento avviene attraverso ADB e quindi, con una connessione wireless attiva, passa interamente sulla rete locale.

Leggere Logcat dal PC senza collegare lo smartphone

Per sviluppatori e tecnici uno dei comandi più interessanti rimane:

adb logcat

Logcat è il sistema Android che raccoglie i messaggi di log prodotti dal sistema operativo e dalle applicazioni. Permette di osservare errori, eccezioni e numerose informazioni diagnostiche in tempo reale.

La comodità del Wi-Fi emerge subito: lo smartphone può rimanere fisicamente nelle mani di chi sta effettuando il test mentre il computer raccoglie continuamente i messaggi prodotti dall’applicazione. Per interrompere la visualizzazione basta premere CTRL+C nel terminale.

Catturare uno screenshot Android tramite ADB Wi-Fi

Anche le acquisizioni dello schermo possono essere gestite senza cavo. Un metodo rapido consiste nell’eseguire:

adb exec-out screencap -p > screenshot.png

Il file viene scritto direttamente sul computer. In alternativa si può creare prima l’immagine sul dispositivo:

adb shell screencap -p /sdcard/screenshot.png

e poi recuperarla:

adb pull /sdcard/screenshot.png

Registrare lo schermo Android via Wi-Fi

Android mette inoltre a disposizione screenrecord. Possiamo avviare una registrazione con:

adb shell screenrecord /sdcard/video.mp4

Dopo aver terminato la registrazione con CTRL+C, recuperiamo il file:

adb pull /sdcard/video.mp4

È una soluzione utile per documentare bug, preparare dimostrazioni o registrare rapidamente il comportamento di un’applicazione senza installare strumenti aggiuntivi sul telefono.

Come riavviare Android tramite ADB

Una connessione wireless consente anche di impartire alcuni comandi di gestione del dispositivo. Il più semplice è:

adb reboot

che riavvia Android. Attenzione, però: durante il riavvio la connessione ADB scompare. Quando il telefono torna operativo e si riconnette alla rete, ADB Wi-Fi 2.0 può tentare di ristabilire automaticamente la sessione se la rete è considerata attendibile.

Come verificare ADB Wi-Fi 2.0 su Android 17

Chi utilizza Android 17 può verificare se il nuovo protocollo ADB Wi-Fi 2.0 risulta effettivamente disponibile. Prima controlliamo il server:

adb server-status

Con Platform-Tools aggiornati dovrebbe comparire una versione pari almeno alla 37.0.0 e il supporto mDNS dovrebbe risultare attivo.

Google suggerisce inoltre:

adb mdns track-services --proto-text

Nelle informazioni relative al dispositivo bisogna cercare:

mdns_service_version: "2.0"

La presenza del valore indica il supporto ad ADB Wi-Fi 2.0.

Come terminare la connessione ADB Wi-Fi

Per chiudere una connessione stabilita manualmente si può utilizzare:

adb disconnect

oppure indicare uno specifico dispositivo:

adb disconnect 192.168.1.138:39217

Si tratta però soltanto di una disconnessione. Il pairing rimane memorizzato.

Per eliminare realmente l’autorizzazione bisogna aprire Debug wireless sul telefono, individuare il PC tra i dispositivi associati e scegliere l’opzione per dimenticarlo. In alternativa, la revoca delle autorizzazioni di debug ADB elimina le workstation precedentemente autorizzate.

ADB Wi-Fi può sostituire completamente il cavo USB?

Per moltissime operazioni quotidiane, sì. Installazione degli APK, shell, Logcat, trasferimento di file e numerosi strumenti di debug funzionano bene attraverso la rete.

E con ADB Wi-Fi 2.0 Google cerca soprattutto di eliminare uno dei problemi storici della soluzione: dover intervenire quando smartphone e workstation smettevano di ritrovarsi automaticamente.

Il collegamento USB conserva comunque alcuni vantaggi. Una connessione cablata risente meno della congestione radio, garantisce prestazioni più prevedibili e può essere preferibile quando si trasferiscono grandi quantità di dati. Inoltre funziona anche su reti nelle quali mDNS o la comunicazione diretta tra dispositivi risultano bloccati.

Per il normale lavoro di sviluppo e per molte operazioni tecniche, però, il wireless è ormai una soluzione concreta. Dopo il primo adb pair basta controllare adb devices; se il telefono compare come device, comandi come adb install, adb shell, adb push, adb pull e adb logcat funzionano senza problemi attraverso la rete locale.

Ti consigliamo anche

Link copiato negli appunti