ADB Shell Commands List and Detailed Cheat Sheet

  • Rakesh
  • March 15, 2020

ADB o Android Debug Bridge è uno strumento a riga di comando sviluppato per facilitare la comunicazione tra un computer e un emulatore collegato o un dispositivo Android. Utilizzando ADB e i comandi ADB Shell, possiamo eseguire varie azioni su un dispositivo. Per poter eseguire i comandi ADB e Fastboot, il pacchetto Android SDK Platform-tools deve essere installato sul vostro computer Windows, Linux o macOS. In questo articolo, esploreremo un enorme elenco di comandi ADB Shell con un cheat sheet.

Non dimenticate di controllare l’elenco dettagliato dei comandi ADB spiegando la funzione di ciascuno di essi.

Che cos’è ADB Shell?

I comandi ADB possono essere utilizzati per eseguire il debug dei dispositivi Android, installare o disinstallare app, e ottenere informazioni su un dispositivo collegato. ADB funziona con l’aiuto di tre componenti chiamati Client, Daemon e Server. Se siete curiosi di sapere come questi 3 componenti lavorano insieme per far funzionare ADB e i comandi della shell ADB, guardate qui sotto:

  • Client: È proprio il computer su cui si usa un terminale a riga di comando per emettere un comando ADB. che invia i comandi.
  • Daemon: O, ADBD è un processo in background che viene eseguito su entrambi i dispositivi collegati. È responsabile dell’esecuzione dei comandi su un emulatore collegato o su un dispositivo Android.
  • Server: Viene eseguito in background e funziona come un ponte tra il client e il demone e gestisce la comunicazione. che gestisce la comunicazione tra il client e il demone.

I comandi ADB Shell forniscono l’accesso a una Shell Unix che esegue un comando direttamente sul tuo dispositivo Android. Non appena si esegue un comando ‘adb shell’ sul terminale di comando, esso invia un segnale al dispositivo Android e attiva la console di comando remoto della shell. Così i comandi ADB shell ti permettono di controllare il tuo dispositivo Android.

Utilizzando i comandi ADB, puoi riavviare il tuo dispositivo, spingere e tirare file, creare un backup e ripristinarlo, caricare di nascosto un pacchetto zip di aggiornamento o un APK. I comandi ADB Shell, tuttavia, lavorano ad un livello molto più profondo. Possono essere utilizzati per cambiare la risoluzione del display del vostro dispositivo, disinstallare bloatware o app di sistema, attivare e disattivare funzioni, modificare i file di sistema, e cambiare la loro configurazione direttamente utilizzando i comandi dal vostro computer.

In realtà, ci sono più compiti che è possibile eseguire utilizzando questi comandi, e di seguito li controlleremo tutti con esempi. Si prega di notare che ci sono tre prerequisiti prima di poter utilizzare i comandi ADB, Fastboot e ADB shell.

  • Android SDK Platform-tools
  • Driver USB per il vostro dispositivo Android
  • Abilitare il debug USB

Ora potete usare Web ADB in una finestra del browser web per eseguire i comandi ADB su un dispositivo Android o un computer senza installare gli strumenti ADB e Fastboot e i driver USB.

Finalmente, senza ulteriori indugi, procediamo con la nostra lista di comandi ADB Shell.

Attenzione: Non usare i comandi menzionati in questa pagina a meno che tu non sappia come usarli e abbia qualche conoscenza o esperienza precedente.

Elenco dei comandi ADB Shell & Cheat Sheet

In questo cheat sheet dei comandi ADB shell, cercherò di spiegare la funzione di tutti i comandi in un linguaggio semplice.

adb shell

Questo comando attiva la console di comando remoto della shell sullo smartphone o tablet Android collegato.

adb shell pm uninstall

Questo è davvero un comando ADB Shell molto utile. Usandolo, potete facilmente disinstallare le applicazioni di sistema indesiderate. Per essere in grado di eseguirlo, dovete prima emettere il comando ‘adb shell’. È quindi possibile utilizzare pm uninstall -k --user 0 o pm uninstall --user 0 seguito dal nome del pacchetto di app Android come mostrato di seguito.

pm uninstall -k --user 0 com.facebook.appmanager

-k: Conservare i dati e la cache delle app dopo la rimozione del pacchetto. Se vuoi che anche i dati delle app vengano cancellati, usa il seguente

pm uninstall --user 0 com.android.chrome

Se non conosci il nome del pacchetto delle app che vuoi rimuovere, puoi usare adb shell pm list packages per trovarlo.

Questo comando può aiutarti se vuoi rimuovere tutti i bloatware dal tuo telefono Android. Si prega di notare che la maggior parte delle applicazioni di sistema non hanno l’opzione ‘Disinstalla’ sul dispositivo, ma questo comando funziona magicamente.

adb shell cmd package install-existing

Utilizzando il comando di cui sopra, è possibile reinstallare un’applicazione di sistema disinstallata.

cmd package install-existing com.facebook.appmanager

adb shell pm disable-user -user 0

Se vuoi disabilitare un’app di sistema sul tuo dispositivo Android, è possibile eseguire il comando di cui sopra seguito dal nome del pacchetto dell’app

pm disable-user --user 0 com.google.ar.core

adb shell pm clear -user 0

Utilizzando questo comando, è possibile eliminare tutti i dati associati a un’app.

adb shell pm clear -user 0 com.facebook.appmanager

adb shell pm hide -user 0

Nel caso tu voglia nascondere un’app installata sul tuo dispositivo Android, puoi eseguire questa linea di comando seguita dal nome del pacchetto dell’app.

adb shell pm hide --user 0 com.whatsapp

adb shell pm list packages

Utilizzando il comando ADB Shell di cui sopra, è possibile stampare l’elenco dei nomi dei pacchetti delle app per tutte le app installate sul dispositivo Android. Puoi usare questo comando con diversi parametri per ottenere un elenco più specifico di pacchetti di app.

Per esempio, se vuoi elencare solo le app di sistema, usa

adb shell pm list packages -s

Per elencare tutte le app di terze parti installate sul tuo telefono o tablet Android, dai il seguente comando.

adb shell pm list packages -3

Se vuoi che ADB Shell mostri l’elenco di tutte le app abilitate o disabilitate sul tuo dispositivo, prova il comando con parametri come ‘-d’ (per le app disabilitate), ‘-e’ (per le app abilitate), e ‘-u’ (per le app disinstallate).

adb shell pm list packages -d
adb shell pm list packages -e
adb shell pm list packages -u

Per elencare i pacchetti di app con specifiche parole chiave filtrare.

adb shell pm list packages <keywords>

Per trovare l’elenco delle app insieme ai loro pacchetti associati, eseguire il seguente comando

adb shell pm list packages -f

È possibile ottenere facilmente un elenco di pacchetti di gruppo da un certo produttore, o venire termine comune. Per esempio, se volete elencare tutte le app di Google, potete usare il seguente comando.

adb shell pm list packages | grep 'google'

Potete sostituire “google” con “samsung”, “huawei”, “xiaomi”, “miui”, “evenwell”, “android”, “facebook”, ecc.

adb shell pm path <package-name>

Questo comando visualizza il percorso APK sul file system del dispositivo.

adb shell pm create-user

Puoi usare questo comando per creare un nuovo utente sul tuo dispositivo Android.

adb shell pm create-user username

adb shell pm remove-user

Nel caso in cui vogliate rimuovere un utente dal vostro dispositivo, potete usare il comando di cui sopra seguito dal user_id come mostrato di seguito.

adb shell pm remove-user user 1

adb shell pm get-max-users

Utilizzando questo comando, è possibile stampare il numero massimo di utenti supportati su un dispositivo Android.

adb shell pm list features

Usa il comando precedente per stampare tutte le caratteristiche supportate del sistema.

adb shell pm list permissions

Questo comando stampa la lista di tutti i permessi conosciuti, opzionalmente solo quelli in group. Puoi usarlo con i seguenti parametri.

  • -g: Organizza i permessi per gruppo
  • -f: Stampa tutte le informazioni
  • -s: Breve riassunto dei permessi
  • -d: Elenca solo i permessi pericolosi
  • -u: Elenca solo i permessi visti dagli utenti

adb shell pm list permissions -d group

adb shell settings

È possibile utilizzare questo comando per ottenere informazioni su alcune impostazioni sul vostro dispositivo Android. Aggiungendo diversi parametri, è possibile scoprire il provider delle impostazioni Android, il livello corrente del volume di sistema, il suono di notifica, l’ID del dispositivo, l’indirizzo MAC Bluetooth, lo stato corrente dei dati mobili, lo stato corrente del WiFi, ecc.

  • adb shell settings list system
  • adb shell settings get system volume_system
  • adb shell settings get system notification_sound
  • adb shell settings list secure
  • adb shell settings get secure android_id
  • adb shell settings get secure bluetooth_address
  • adb shell settings list global
  • adb shell settings get global mobile_data
  • adb shell settings get global wifi_on

adb shell dumpsys

È un comando molto flessibile che può essere usato da solo o con vari parametri per ottenere dati relativi alla batteria, display, CPU, RAM, memoria, ecc. L’esecuzione di questo comando vi darà informazioni dettagliate sulla configurazione software e hardware del dispositivo Android.

Nota: Al fine di utilizzare questo strumento non dimenticate di aggiungere automaticamente il permesso nel vostro manifesto Android android.permission.DUMP

adb shell dumpsys

Altre varianti del comando sono le seguenti:

  • adb shell dumpsys input
  • adb shell dumpsys display
  • adb shell dumpsys battery
  • adb shell dumpsys batterystats
  • adb shell dumpsys activity
  • adb shell dumpsys cpuinfo
  • adb shell dumpsys battery

Eseguendo il comando ‘adb shell dumpsys cpuinfo’, per esempio, stamperà un elenco dell’utilizzo della CPU da parte dei processi e delle applicazioni in esecuzione sul vostro dispositivo Android, come mostrato di seguito:

PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device PS C:\Users\Technastic\Desktop> adb shell dumpsys cpuinfo Load: 12.48 / 12.76 / 12.82 CPU usage from 138400ms to 89027ms ago: 8.1% 5954/system_server: 5.5% user + 2.5% kernel / faults: 9802 minor 5 major 3.1% 6485/com.android.phone: 2.2% user + 0.9% kernel / faults: 6575 minor 1 major 2.7% 6596/com.android.systemui: 2.1% user + 0.6% kernel / faults: 3178 minor 1 major 2.6% 26484/com.netflix.mediaclient: 1.3% user + 1.3% kernel / faults: 109 minor 2% 2231/sugov:0: 0% user + 2% kernel 1% 24100/kworker/u18:2: 0% user + 1% kernel 1% 5706/statsd: 0.9% user + 0.1% kernel 0.5% 3752/ueventd: 0.4% user + 0.1% kernel / faults: 25 minor 0.5% 5721/rild: 0.3% user + 0.2% kernel / faults: 20 minor 0.5% 5169/logd: 0.3% user + 0.2% kernel / faults: 43 minor 0.5% 5558/surfaceflinger: 0.3% user + 0.2% kernel / faults: 1 minor 0.4% 5170/servicemanager: 0.2% user + 0.2% kernel 0.4% 1/init: 0.3% user + 0% kernel 0.4% 19725/kworker/u17:3: 0% user + 0.4% kernel 0.3% 5546/lmkd: 0% user + 0.3% kernel 0.3% 5456/kworker/u17:1: 0% user + 0.3% kernel 0.3% 5715/argosd: 0.1% user + 0.1% kernel 0.3% 2233/sugov:4: 0% user + 0.3% kernel 0.2% 23487/kworker/u18:0: 0% user + 0.2% kernel 0.1% 23896/kworker/u16:3: 0% user + 0.1% kernel / faults: 6 minor 0.1% 8/rcu_preempt: 0% user + 0.1% kernel 0.1% 5718/lhd: 0% user + 0.1% kernel 0.1% 23489/kworker/0:2: 0% user + 0.1% kernel

adb shell wm density

Il comando sopra può essere usato per scoprire la densità di pixel del display del vostro dispositivo Android.

adb shell dumpsys window displays

Avrete un output molto dettagliato sulla finestra di comando con informazioni come la risoluzione in pixel, FPS, e DPI del display del vostro telefono.

Display: mDisplayId=0 init=1440x3040 560dpi base=1080x2280 420dpi cur=1080x2280 app=1080x2069 rng=1080x1017-2069x2069 deferred=false mLayoutNeeded=false mTouchExcludeRegion=SkRegion((0,0,1080,2280)) mDisplayInfo=DisplayInfo{"Built-in Screen, displayId 0", uniqueId "local:0", app 1080 x 2069, real 1080 x 2280, largest app 2069 x 2069, smallest app 1080 x 1017, mode 1, defaultMode 1, modes [{id=1, width=1440, height=3040, fps=60.000004}

adb shell wm size

Puoi scoprire la risoluzione del display del tuo telefono con questo comando.

PS C:\Users\Technastic\Desktop> adb shell wm size Physical size: 1440x3040 Override size: 1080x2280

Se vuoi modificare la risoluzione dello schermo e la densità dei pixel del display del tuo Android. Se non sei sicuro della risoluzione del display del tuo dispositivo, esegui il comando indicato qui sotto. Supponiamo che la risoluzione del display del tuo telefono sia QHD+, puoi facilmente cambiarla in Full HD+ o HD+.

  • FHD
adb shell wm size 1080x2220
adb shell wm density 420
  • HD
adb shell wm size 720x1560
adb shell wm density 360

Comando ADB Shell per inviare la schermata SMS

Se vuoi inviare un messaggio di testo usando un comando, prova il seguente codice.

adb shell am start -a android.intent.action.SENDTO -d sms:+918052000222 --es sms_body "Test --ez exit_on_sent false

adb shell screencap

Utilizzando questo comando, potete catturare uno screenshot e scaricarlo sul vostro computer utilizzando il comando ‘adb pull’ come descritto sopra.

adb shell screencap /sdcard/screenshot-01.png

adb shell screenrecord

Sui dispositivi Android con Android 4.4 KitKat e superiori, è anche possibile registrare lo schermo del telefono o del tablet e scaricare il video registrato sul computer. Inoltre, è anche possibile impostare condizioni come la durata del video, la risoluzione in pixel e il bitrate video, ecc.

adb shell screenrecord /sdcard/screenrecord-01.mp4
adb pull screenrecord /sdcard/screenrecord.mp4

È possibile fermare la registrazione dello schermo utilizzando Ctrl+C. Nel caso in cui si desideri registrare lo schermo in una risoluzione specifica, il seguente comando consente di impostare larghezza e altezza personalizzate in pixel.

adb shell screenrecord --size 1920x1080 /sdcard/screenrecord-01.mp4

Di default, la durata del registratore dello schermo di Android è impostata a 180 secondi (3 minuti). Potete diminuire questo limite di tempo secondo le vostre esigenze (180 secondi è il limite massimo).

adb shell screenrecord --time-limit 120 /sdcard/screenrecord-01.mp4

Similmente, potete anche determinare il bitrate dell’uscita video. Per impostare il bitrate a 4MBPS, per esempio, potete usare il seguente valore:

adb shell screenrecord --bit-rate 6000000 /sdcard/screenrecord-01.mp4

adb shell getprop & adb shell setprop

I comandi ‘getprop’ e ‘setprop’ possono essere usati per visualizzare e impostare o modificare la configurazione del file ‘build.prop’ sui dispositivi Android. Il seguente comando, per esempio, visualizza le informazioni sulle proprietà del sistema Android.

adb shell getprop

Di seguito ci sono altri esempi:

getprop ro.build.version.sdk
getprop ro.chipname

Nel caso si voglia cambiare il valore di una voce nel build.prop, si possono usare i comandi ‘adb shell setprop’. Vedere gli esempi qui sotto:

getprop net.dns1 1.2.3.4
setprop net.dns1 1.3.4.5
getprop net.dns2 1.1.2.3
setprop net.dns2 1.2.3.4

Allo stesso modo, se volete cambiare la configurazione della dimensione del VMHeap sul vostro dispositivo Android, potete usare il seguente comando.

setprop dalvik.vm.heapsize 60m

Ci sono alcune altre varianti del comando ‘adb shell getprop’ che permettono di vedere le informazioni sulle proprietà del sistema Android, il livello API SDK, la versione della patch di sicurezza Android, Soc, la versione Android, il modello del dispositivo, il produttore del dispositivo, il numero di serie ADB, lo stato di sblocco OEM, l’impronta digitale del dispositivo Android, l’indirizzo MAC WiFi, ecc.

  • adb shell getprop
  • adb shell getprop ro.build.version.sdk
  • adb shell getprop ro.build.version.security_patch
  • adb shell getprop ro.board.platform
  • adb shell getprop ro.build.version.release
  • adb shell getprop ro.vendor.product.model
  • adb shell getprop ro.product.manufacturer
  • adb shell getprop ro.serialno
  • adb shell getprop ro.oem_unlock_supported
  • adb shell getprop ro.bootimage.build.fingerprint
  • adb shell getprop ro.boot.wifimacaddr

adb -s shell getprop

Se vuoi controllare la configurazione completa, i servizi in esecuzione e le informazioni sul tuo telefono o tablet Android, puoi usare il comando di cui sopra. Prima di tutto, eseguite il comando adb devices e copiate il valore alfa-numerico del vostro ID dispositivo dall’output.

PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device

Poi eseguite il seguente comando. Non dimenticare di sostituire l’ID del dispositivo evidenziato in blu con l’ID del tuo dispositivo.

adb -s RZ8M810BARJ shell getprop

adb shell cat /proc/cpuinfo

Usa il comando sopra per ottenere informazioni complete sulla CPU del tuo telefono o tablet.

Ottieni le proprietà di un dispositivo Android

Con l’esecuzione del seguente comando, puoi vedere le proprietà del sistema.

adb shell getprop | grep -e 'model' -e 'version.sdk' -e 'manufacturer' -e 'hardware' -e 'platform' -e 'revision' -e 'serialno' -e 'product.name' -e 'brand'

adb shell cd

Cambia la directory della shell ADB usando ‘cd <directory>’

adb shell

Poi eseguire il seguente comando:

cd /system

adb shell rm

Questo comando consente di eliminare facilmente un file o una cartella dalla memoria del vostro dispositivo Android. Lanciate la finestra di comando, eseguite il comando ‘adb shell’ e poi provate il seguente comando con i parametri ‘-f’ (per cancellare un file) e ‘-d’ (per rimuovere una cartella).

rm -f /sdcard/com.whatsapp.apk
rm -d /sdcard/WhatsApp

Nota: Invece di ‘rm-d’, potete anche usare ‘rmdir’.

adb shell mkdir

Oltre a cancellare una directory o cartella esistente, ADB Shell vi permette anche di creare una nuova directory o sotto-directory. Non solo, è possibile impostare i permessi per la cartella appena creata.

mkdir /sdcard/NewFolder mkdir -p /sdcard/NewFolder/NewFolder1 mkdir -m 644 /sdcard/NewFolder

adb shell cp

‘cp’ sta per ‘copia’. È possibile utilizzare questo comando per copiare i file e le directory che si trovano sul vostro dispositivo Android. Anche in questo caso, è necessario iniziare prima con il comando ‘adb shell’.

Per copiare i file e poi incollarli, indicando le posizioni di origine e destinazione come mostrato di seguito:

cp /sdcard/OPWallpaperResources.apk /sdcard/DCIM/Camera

adb shell mv

‘mv’ sta per ‘move’. Questo comando può essere usato per spostare un file memorizzato sul vostro dispositivo da una posizione sorgente a una posizione di destinazione.

mv /sdcard/livewallpapers.apk /system/app

Il seguente comando vi permetterà di spostare un file con un nuovo nome.

mv /sdcard/livewallpapers.apk /sdcard/Wallpapers

adb shell top

Per visualizzare l’elenco dei processi CPU top su un telefono o tablet Android, è possibile utilizzare il comando di cui sopra. Il monitor dei processi CPU può essere fermato usando Ctrl+C.

adb shell ip

Trova l’indirizzo IP WiFi di un telefono o tablet Android.

ip -f inet addr show wlan0

adb shell netstat

Visualizza le statistiche di rete dei telefoni Android.

adb shell netstat

Comandi KeyEvent

I dispositivi Android supportano i comandi KeyEvent che possono permetterti di eseguire certe azioni che richiedono di premere un pulsante hardware o toccare un’app o un’opzione dell’interfaccia utente. Potete controllare il vostro telefono o tablet Android semplicemente usando questi comandi KeyEvent. Questi comandi potrebbero essere utili se i tasti hardware del vostro dispositivo non funzionano correttamente a causa di qualche danno.

  • Turn Android device ON or OFF: adb shell input keyevent 2
  • Press Home button: adb shell input keyevent 3
  • Press Back button: adb shell input keyevent 4 
  • Press Call button: adb shell input keyevent 5 
  • End a call: adb shell input keyevent 6 
  • Turn ON the camera: adb shell input keyevent 27 
  • Open wen browser: adb shell input keyevent 64 
  • Press the Enter key: adb shell input keyevent 66 
  • Press Backspace button: adb shell input keyevent 67 
  • Open Contacts app: adb shell input keyevent 207 
  • Decrease display brightness: adb shell input keyevent 220 
  • Increase Display brightness: adb shell input keyevent 221 
  • Cut text: adb shell input keyevent 277
  • Copy text: adb shell input keyevent 278
  • Paste text: adb shell input keyevent 279

Puoi saperne di più sui comandi KeyEvent sul portale degli sviluppatori di Google.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *