Come usare i comandi ADB e Fastboot su Android [GUIDA]
In questa guida andremo a vedere come usare i comandi ADB e Fastboot su Android necessari per poter mettere mano sul proprio dispositivo Android per poter eseguire alcuni importanti funzioni sul device. Prima di tutto, ci si deve servire di due importanti strumenti che sono Android Debug Bridge (ADB) e fastboot ossia due programmi che possono essere avviati tramite il Prompt dei comandi di Windows. Chi ha installato sul proprio computer con sistema operativo Microsoft, l’SDK di Android, potrà trovare i programmi ADB e fastboot all’interno della cartella platform tools (android_sdk/platform-tools/), programmi che comunque sarà possibile reperire ugualmente senza necessariamente installare il pacchetto intero SDK in quanto si potrà installare il tool minimal adb che contiene solo i file necessari per ADB e fastboot e può essere scaricato dal sito XDA. ADB è un tool da riga di comando versatile che permette di poter comunicare con un dispositivo. Il comando ADB, permette di svolgere con facilità delle azioni sul dispositivo come l’accesso a una shell Unix, utile per poter eseguire diversi comandi su un dispositivo.
Android debug bridge (ADB), è un tool di riga di comando versatile, che permette di comunicare con un dispositivo, azionando con facilità alcune funzioni del device come l’installazione e debug di applicazioni e accesso a una shell Unix, utile per poter eseguire vari comandi su un dispositivo. Android debug bridge (ADB) è un programma client-server che include i seguenti componenti:
- Client: serve per inviare i comandi dal computer dello sviluppatore ed è possibile richiamarlo da un terminale della riga di comando inviando un comando adb
- Demone (adbd): serve per eseguire i comandi su un dispositivo con esecuzione come processo in background su ciascun device
- Server: gestisce la comunicazione tra il client e il demone. Sul computer dello sviluppatore, il server viene eseguito come processo in background
Come usare i comandi ADB e fastboot su Android: come funziona ADB e fastboot |
---|
Vediamo ora come funziona ADB. quando si avvia il client ADB, il client deve controllare come prima cosa se è già in esecuzione un processo del server ADB, in maniera tale di avviarne il processo se questo non viene rilevato. Il server una volta avviato, andrà a collegarsi alla porta TCP locale 5037, necessaria per poter comunicare con il client ADB e “ascolterà” tutti i comandi inviati da quest’ultimo. Verranno quindi imposte dal server le connessioni a tutti i dispositivi che sono in esecuzione in quel momento, individuando gli emulatori ed eseguendo la scansione di porte aventi numeri dispari nell’intervallo che va da 5555 a 5585, l’intervallo usato dai primi 16 emulatori. Quando il server trova un demone (adbd), procede a impostare una connessione a quella porta. Perchè vengono fatte le scansioni delle sole porte dispari? Il motivo è che ciascun emulatore usa una coppia di porte sequenziali: una porta avente numero pari per le connessioni della console e una porta dispari invece per le connessioni ADB. Ecco di seguito un esempio:
Emulatore 1, console: 5554
Emulatore 1, adb: 5555
Emulatore 2, console: 5556
Emulatore 2, adb: 5557
e così via …
L’emulatore 1, come si può vedere nell’esempio, è collegato ad ADB sulla porta 5555, ma anche alla console in ascolto 5554. Una volta che il server è riuscito a configurare le connessioni a tutti i dispositivi, è possibile utilizzare i comandi ADB per poter accedere a questi device. Il server, gestendo le connessioni ai dispositivi e gestendo i comandi da più client ADB, permette di controllare qualsiasi device da qualsiasi client o da uno script.
Come usare i comandi ADB e fastboot su Android: come abilitare il debug USB su un dispositivo Android |
---|
Come abilitare il debug USB su un dispositivo Android. Per poter utilizzare ADB con un dispositivo che è collegato via USB, è necessario abilitare su Android il debug USB dalle impostazioni del sistema operativo, sotto la voce Opzioni sviluppatore. A partire da Android 4.2, la voce Opzioni sviluppatore è stata nascosta per impostazione predefinita, ma renderla nuovamente visibile è molto semplice in quanto basta andare su Impostazioni dello smartphone > Info telefono > Premi 7 volte con il dito su Numero di Build fino a visualizzare una piccola finestra pop-up che indica che sei diventato uno sviluppatore e le opzioni associate a esso ora sono attive.
Non dovrai fare altro che tornare indietro alle Impostazioni entrare dentro Sistema e aggiornamenti e qui dovresti visualizzare ora in elenco la nuova voce Opzioni sviluppatore su cui dovrai premerci sopra per potervi accedere. Considera comunque che questo passaggio è generale, in alcuni dispositivi, la schermata delle Opzioni sviluppatore potrebbe trovarsi in una pagina diversa di quella Sistema e aggiornamenti e per trovarla facilmente ti basterà cercarla usando la barra di ricerca in alto che trovi nelle Impostazioni.
Una volta dentro la schermata delle Opzioni sviluppatore, potrai attivare il debug USB per avere la modalità debug quando connesso il dispositivo via USB agendo sull’apposito interruttore e successivamente su OK. Fatto ciò, potrai connettere il tuo dispositivo via USB con la modalità debug attiva, una cosa necessaria per poter usare i comandi ADB e Fastboot su Android.
Per verificare che il device sia connesso, dalla directory android_sdk/platform-tools, ti basta eseguire adb devices e se è presente una connessione, vedrai il tuo dispositivo elencato come “device”. Alla connessione di un dispositivo Android via USB al computer, nelle versioni 4.2.2.0 e successive di Android, il sistema mostrerà una finestra in cui è richiesto se accettare una chiave RSA, utile per consentire il debug attraverso il computer in uso. Questo non è altro che un sistema di sicurezza, che protegge i device dell’utente garantendo che il debug USB e altri comandi ADB, non possano essere eseguiti a meno che non sia possibile sbloccare il dispositivo e dandone conferma.
Come usare i comandi ADB e fastboot su Android: come connettere un dispositivo Android via Wi-Fi invece che USB |
---|
Come connettere un dispositivo Android via Wi-Fi invece che USB. In genere ADB viene usato per comunicare con un dispositivo via USB tuttavia questo cavo di connessione non è l’unico modo che si può usare, infatti è possibile usare ADB anche via Wi-Fi, dopo però alcune impostazioni iniziali fatte via USB come vedremo nei passaggi seguenti:
- Collega il tuo dispositivo Android al computer host adb a una rete Wi-Fi in comune (quindi devono usare la stessa rete wireless). Durante questa fase, è importante che il punto d’accesso abbia un firewall configurato in maniera tale da supportare ADB
- Se devi connetterti a un dispositivo Wear OS, disattiva il Bluetooth sul telefono accoppiato
- Collega ora il dispositivo Android al computer host usando il cavo USB
- Imposta il dispositivo di destinazione per l’ascolto di una connessione TCP/IP su porta 5555 con il comando adb tcpip 5555
- Scollega il cavo USB dal computer
- Devi trovare adesso l’indirizzo IP del dispositivo Android. Per poterlo trovare, segui i seguenti passaggi (guida generale per smartphone e tablet) Impostazioni > Informazioni sul dispositivo > Stato > Indirizzo IP; per chi ha Wear OS invece: su un dispositivo Wear OS, è possibile trovare l’indirizzo IP in Impostazioni > Impostazioni Wi-Fi > Avanzate > Indirizzo IP
- Ora puoi connetterti al dispositivo tramite il suo indirizzo IP con il comando adb connect device_ip_adress (tuo ip)
- Verifica adesso che il tuo computer host sia connesso al dispositivo di destinazione tramite il comando seguente:
$ adb devices
List of devices attached
device_ip_adress:5555 device
Se rilevi la connessione ADB ok, altrimenti se questa risulta persa fai come segue:
- Assicurati che il tuo computer host sia connesso alla stessa identica rete Wi-Fi del dispositivo Android
- Connettiti nuovamente con il comando adb connect
- Se il collegamento ADB non funziona, reimposta l’host ADB con il comando adb kill-server e ricomincia da capo i passaggi per eseguire il collegamento wireless
Una volta che è presente la connessione tra computer e dispositivo Android, sia che venga usata una connessione USB o Wi-Fi, si potranno eseguire i comandi ADB. Ecco di seguito quali sono:
Come usare i comandi ADB e fastboot su Android: Tabella 1 – Comandi e opzioni adb disponibili |
---|
-s
: Installa l’app sulla scheda SD.-d
: Consente il downgrade del codice versione (solo per il debug dei pacchetti).-g
: Concedere tutte le autorizzazioni di runtime.
Opzioni globali | Descrizione |
---|---|
-a |
Ascolta su tutte le interfacce di rete invece che su on localhost . |
-d |
Dirige un comando adb sull’unico dispositivo USB collegato. Restituisce un errore quando è collegato più di un dispositivo USB. |
-e |
Dirige un comando adb all’unico emulatore in esecuzione. Restituisce un errore quando è in esecuzione più di un emulatore. |
-s serial_number |
Dirige un comando adb su un dispositivo specifico, a cui fa riferimento il numero seriale assegnato ad adb (come emulator-5556). Sostituisce il valore del numero di serie memorizzato nella $ANDROID_SERIAL variabile di ambiente. |
-H server |
Il nome dell’host del server adb. Il valore predefinito è localhost . |
-P port |
Il numero di porta del server adb. Il valore predefinito è 5037 . |
-L socket |
Ascolta sul socket del server adb fornito. Il valore predefinito è tcp:localhost:5037 . |
Comandi generali | Descrizione |
---|---|
devices [-l] |
Stampa un elenco di tutti i dispositivi. Utilizzare l’opzione -l per includere le descrizioni del dispositivo. |
help |
Stampa un elenco di comandi adb supportati e le loro descrizioni. |
version |
Stampa il numero della versione adb. |
run-as package_name |
Esegui comandi su un dispositivo come app (specificato utilizzando nome_pacchetto ).Ciò consente di eseguire comandi in adb come se l’app specificata eseguisse il comando (ovvero, si ha lo stesso accesso al dispositivo che l’app ha), senza richiedere l’accesso come root. Questo potrebbe essere necessario quando si utilizza adb su un dispositivo non rooted o un emulatore con un’immagine Play Store. L’app deve essere debuggabile. |
Comandi di rete | Descrizione | |
---|---|---|
connect host[:port] |
Connetti a un dispositivo su TCP / IP. Se non si specifica una porta 5555 , viene utilizzata la porta predefinita. |
|
disconnect [host | |
Disconnettersi dal dispositivo TCP / IP specificato in esecuzione sulla porta specificata.Se non si specifica un host o una porta, tutti i dispositivi vengono disconnessi da tutte le porte TCP / IP. Se si specifica un host, ma non una porta 5555 , viene utilizzata la porta predefinita,. |
|
forward --list |
Elenca tutte le connessioni socket inoltrate. | |
forward [--no-rebind]local remote |
Inoltra le connessioni socket dalla porta locale specificata alla porta remota specificata sul dispositivo. È possibile specificare porte locali e remote nei modi seguenti:
|
|
forward --remove local |
Rimuove la connessione socket inoltrato specificato. | |
reverse --list |
Elenca tutte le connessioni di presa inversa dal dispositivo. | |
reverse [--no-rebind]remote local |
Inverte una connessione socket. L’ --no-rebind opzione indica che l’inversione fallisce se il socket specificato è già associato a un reverse comando precedente . È possibile specificare la porta per gli argomenti locali e remoti nei modi seguenti:
|
|
reverse --remove remote |
Rimuove la connessione invertita specificata dal dispositivo. | |
reverse --remove-all |
Rimuove tutte le connessioni della presa inversa dal dispositivo. | |
Comandi di trasferimento file | Descrizione | |
push local remote |
Copia file e directory dal dispositivo locale (computer) in una posizione remota sul dispositivo. | |
pull [-a] remote local |
Copia file e directory remoti su un dispositivo. Utilizza l’ -a come opzione per conservare il timestamp e la modalità del file. |
|
sync [system| |
Sincronizza una build locale dalla posizione specificata nel $ANDROID_PRODUCT_OUT dispositivo. Tutti i file modificati vengono copiati dalla partizione specificata.L’impostazione predefinita è sincronizzare tutte le partizioni. Questo comando viene utilizzato solo quando si crea l’origine della piattaforma Android. Gli sviluppatori di app non hanno bisogno di usare questo comando.La $ANDROID_PRODUCT_OUT variabile di ambiente viene automaticamente impostata dal sistema di build Android per contenere la posizione delle immagini di sistema. Normalmente non è necessario impostarlo $ANDROID_PRODUCT_OUT quando lo si esegue adb sync , ma può essere utile se non si è in un albero di build (ma ne è disponibile uno) o se si sta eseguendo la sincronizzazione tra gli alberi di build senza passare da uno all’altro.
$ ANDROID_PRODUCT_OUT = / out / target / product / generic adb sync |
|
Comandi di installazione dell’app | Descrizione | |
install [options]package |
Serve per installare i pacchetti sul dispositivo. Le opzioni possibili sono le seguenti:
|
|
install-multiple[options] packages |
Stesse opzioni come install con l’aggiunta di quanto segue:
|
|
uninstall [-k] package |
Rimuovi questo pacchetto di app dal dispositivo. Aggiungi-k come opzione per mantenere i dati e le directory della cache. |
|
Backup e ripristino dei comandi | Descrizione | |
backup [ ] -f file [ -apk | -noapk ] [ -obb | -noobb ] [ -shared | -noshared ] [ -all ] [ -system | [ -nosystem ]package_names |
Scrivi un archivio dei dati del dispositivo su file . Se non si specifica un nome file, il file è predefinito. L’elenco dei pacchetti è facoltativo quando si specificano le opzioni . Quanto segue descrive gli usi per le altre opzioni: backup. -all -shared
|
|
restore file |
Ripristina il contenuto del dispositivo dal file . | |
Comandi di debug | Descrizione | |
bugreport path |
Stampa un bugreport al percorso specificato. Se il percorso è una directory, quindi il bug report viene salvato in quella directory usando il nome file predefinito, . Stampa su dispositivi che non supportano rapporti sui bug zippati . bugreport. stdout |
|
jdwp |
Stampa un elenco dei processi JDWP disponibili su un determinato dispositivo. Da utilizzare per connettersi a un processo JDWP specifico. Per esempio:forward jdwp:pid adb forward tcp:8000 jdwp:472 jdb -attach localhost:8000 |
|
logcat [-help] [option] [filter-spec] |
Stampa i dati del registro sullo schermo. Per informazioni sul logcat comando e la$ANDROID_LOG_TAGS variabile di ambiente, vedere Filtraggio dell’output del registro nella pagina del logcat.La $ADB_TRACE variabile di ambiente contiene un elenco separato da virgole delle informazioni di debug da registrare. I valori possono essere una qualsiasi combinazione dei seguenti: all , adb , sockets , packets , rwx , usb , sync , sysdeps , transport , e jdwp . |
|
Comandi di sicurezza | Descrizione | |
disable-verity |
Disabilita il dm-verity controllo delle userdebug build. L’ dm-verity è una opzione garantisce che quando un utente avvia un dispositivo si trovi nello stesso stato in cui si trovava al momento dell’ultimo utilizzo. |
|
enable-verity |
Riattiva il dm-verity control su userdebug build. L’ dm-verity è una opzione garantisce che quando un utente avvia un dispositivo si trovi nello stesso stato in cui si trovava al momento dell’ultimo utilizzo. |
|
keygen file |
Genera adb chiavi crittografate RSA pubbliche e private. La chiave privata è memorizzata nel file . La chiave pubblica viene memorizzata . Una coppia di chiavi RSA è necessaria quando si usa adb per connettersi via USB per la prima volta. È necessario accettare la chiave RSA del computer host per concedere esplicitamente l’accesso adb al dispositivo. file. Utilizzare la variabile $ANDROID_VENDOR_KEYS di ambiente per puntare a un file o una directory contenente coppie di chiavi di autenticazione RSA a 2048 bit generate con il comando keygen . Queste coppie di chiavi si aggiungono alle coppie di chiavi RSA generate dal server adb.
Quando il server adb ha bisogno di una chiave, per prima cosa cerca nella directory dell’archivio chiavi del server adb. Se non viene trovata alcuna chiave, controlla la Per impostazione predefinita, le coppie di chiavi generate dal server adb sono memorizzate nelle seguenti directory dell’archivio chiavi come
|
|
Comandi di scripting | Descrizione | |
wait-for [-transport] -state |
Attendi che il dispositivo si trovi nello stato specificato.
|
|
get-state |
Stampa lo stato adb di un dispositivo. Lo stato adb può essere print offline ,bootloader o device . |
|
get-serialno |
Stampa la stringa del numero seriale del dispositivo adb. | |
get-devpath |
Stampa il percorso del dispositivo adb. | |
remount |
Rimontare i /system , /vendor e /oem le partizioni in modalità lettura-scrittura. |
|
reboot [bootloader | |
Riavvia il dispositivo. Questo comando si avvia automaticamente all’avvio dell’immagine di sistema, ma supporta anche bootloader e recovery .
|
|
sideload otapackage |
sideload (installa in formato APK) il pacchetto OTA completo specificato sul dispositivo. | |
root |
Riavvia adbd con i permessi di root. | |
unroot |
Riavvia adbd senza autorizzazioni di root. | |
usb |
Riavvia il server adb in ascolto su USB. | |
tcpip port-number |
Riavvia il server adb in ascolto su TCP nella porta specificata. | |
Comandi di debug interni | Descrizione | |
start-server |
Controlla se il processo del server adb è in esecuzione. | |
kill-server |
Termina la procedura del server adb. | |
reconnect |
Forza una riconnessione dall’host. | |
reconnect device |
Forza una riconnessione dal dispositivo per forzare una riconnessione. | |
Comandi di shell | Descrizione | |
shell |
Avvia una shell interattiva remota nel dispositivo di destinazione. | |
shell -e escape_char [-n] [-T] [-t] [-x] [command] |
Emette un comando shell nel dispositivo di destinazione e quindi esce dalla shell remota. Utilizza qualsiasi combinazione delle seguenti opzioni:
|
|
emu command |
Esegui un comando della console di emulazione. |
È possibile utilizzare il comando shell
per inviare comandi del dispositivo tramite adb, con o senza immettere la shell remota adb sul dispositivo. Per emettere un singolo comando senza inserire una shell remota, usa il comando shell
in questo modo:
adb [-d |-e | -s serial_number] shell shell_command
Oppure inserisci una shell remota su un dispositivo di questo tipo:
adb [-d | -e | -s serial_number] shell
Quando sei pronto per uscire dalla shell remota, premi Ctrl + D o digita exit
.
I binari del comando shell sono memorizzati nel file system del dispositivo in /system/bin/
.
Call activity manager (am). All’interno di una shell adb, puoi impartire comandi con lo strumento activity manager ( am
) per eseguire varie azioni di sistema, come avviare un’attività, forzare l’interruzione di un processo, trasmettere un intent, modificare le proprietà dello schermo del dispositivo e altro. In una shell, la sintassi è: am command
Puoi inviare anche un comando di gestione attività direttamente da ADB senza inserire una shell
adb shell am start -a android.intent.action.VIEW
Come usare i comandi ADB e fastboot su Android: Tabella 2 – Comandi di Gestione attività disponibili |
---|
Comando | Descrizione |
---|---|
start [options] intent |
Avvia un Activity specificato da intent .Le opzioni sono:
|
startservice [options] intent |
Avvia il Service specificato da intent .Le opzioni sono:
|
force-stop package |
Forza l’interruzione di tutto ciò che è associato package (nome del pacchetto dell’app). |
kill [options] package |
Elimina tutti i processi associati package (nome del pacchetto dell’app). Questo comando uccide solo i processi che possono essere uccisi in sicurezza e che non influiscono sull’esperienza dell’utente.Le opzioni sono:
|
kill-all |
Uccidi tutti i processi in background. |
broadcast [options] intent |
Emetti un intento di trasmissione.
Le opzioni sono:
|
instrument [options] component |
Inizia il monitoraggio con Instrumentation un’istanza. In genere l’obiettivocomponent è la forma . test_package/runner_class Le opzioni sono:
|
profile start process file |
Avvia il profiler process , scrivi i risultati su file . |
profile stop process |
Interrompi il profiler process . |
dumpheap [options] process file |
Scarica il mucchio di process , scrivi a file .Le opzioni sono:
|
set-debug-app [options] package |
Imposta l’app package per il debug.Le opzioni sono:
|
clear-debug-app |
Cancella il pacchetto precedente impostato per il debug con set-debug-app . |
monitor [options] |
Inizia il monitoraggio per arresti anomali o ANR.Le opzioni sono:
|
screen-compat {on | |
Controlla la modalità di compatibilità dello schermo di package . |
display-size [reset | |
Ignora le dimensioni di visualizzazione del dispositivo. Questo comando è utile per testare la tua app su diverse dimensioni dello schermo imitando una risoluzione dello schermo piccola usando un dispositivo con uno schermo grande e viceversa.Esempio:am display-size 1280x800 |
display-density dpi |
Ignora la densità del display del dispositivo. Questo comando è utile per testare l’app su diverse densità dello schermo su un ambiente con schermo ad alta densità utilizzando uno schermo a bassa densità e viceversa.Esempio:am display-density 480 |
to-uri intent |
Stampa la specifica di intento specificata come un URI. |
to-intent-uri intent |
Stampa la specifica di intento specificata come un intent: URI. |
Specifica per argomenti di intent
Per i comandi del gestore attività che accettano un intent
argomento, è possibile specificare l’intento con le seguenti opzioni:
Chiama gestore pacchetti ( pm
)
All’interno di una shell adb, puoi impartire comandi con lo strumento package manager ( pm
) per eseguire azioni e query sui pacchetti di app installati sul dispositivo. In una shell, la sintassi è:
pm command
Puoi anche inviare un comando gestore pacchetti direttamente da adb senza inserire una shell remota. Per esempio:
adb shell pm uninstall com.example.MyApp
Come usare i comandi ADB e fastboot su Android: Tabella 3 – Comandi di gestione pacchetti disponibili |
---|
filter |
Stampa tutti i pacchetti, opzionalmente solo quelli il cui nome del pacchetto contiene il testo filter .Opzioni:
|
list permission-groups |
Stampa tutti i gruppi di autorizzazioni noti. |
list permissions [options] group |
Stampa tutte le autorizzazioni conosciute, opzionalmente solo quelle in group .Opzioni:
|
list instrumentation [options] |
Elenca tutti i pacchetti di test.Opzioni:
|
list features |
Stampa tutte le funzionalità del sistema. |
list libraries |
Stampa tutte le librerie supportate dal dispositivo corrente. |
list users |
Stampa tutti gli utenti sul sistema. |
path package |
Stampa il percorso per l’APK del dato package . |
install [options] path |
Installa un pacchetto (specificato da path ) nel sistema.Opzioni:
|
uninstall [options] package |
Rimuove un pacchetto dal sistema.Opzioni:
|
clear package |
Elimina tutti i dati associati a un pacchetto. |
enable package_or_component |
Abilita il pacchetto o componente indicato (scritto come “pacchetto / classe”). |
disable package_or_component |
Disabilitare il pacchetto o componente indicato (scritto come “pacchetto / classe”). |
disable-user [options] package_or_component |
Opzioni:
|
grant package_name permission |
Concedi un’autorizzazione a un’app. Sui dispositivi con Android 6.0 (livello API 23) e versioni successive, l’autorizzazione può essere qualsiasi autorizzazione dichiarata nel manifest dell’app.Sui dispositivi con Android 5.1 (livello API 22) e versioni precedenti, deve essere un’autorizzazione opzionale definita dall’app. |
revoke package_name permission |
Revoca un’autorizzazione da un’app. Sui dispositivi con Android 6.0 (livello API 23) e versioni successive, l’autorizzazione può essere qualsiasi autorizzazione dichiarata nel manifest dell’app.Sui dispositivi con Android 5.1 (livello API 22) e versioni precedenti, deve essere un’autorizzazione opzionale definita dall’app. |
set-install-location location |
Cambia il percorso di installazione predefinito. Valori di posizione:
Nota: è inteso solo per il debug; l’utilizzo di questo può causare rotture di app e altri comportamenti indesiderati. |
get-install-location |
Restituisce il percorso di installazione corrente. Valori di ritorno:
|
set-permission-enforced permission [true | |
Specifica se l’autorizzazione data deve essere applicata. |
trim-caches desired_free_space |
Taglia i file della cache per raggiungere lo spazio disponibile. |
create-user user_name |
Crea un nuovo utente con il dato user_name , stampando il nuovo identificativo utente dell’utente. |
remove-user user_id |
Rimuovi l’utente con il dato user_id , cancellando tutti i dati associati a quell’utente |
get-max-users |
Stampa il numero massimo di utenti supportati dal dispositivo. |
Chiama gestore criteri dispositivo ( dpm
)
Per aiutarti a sviluppare e testare le tue app di gestione dei dispositivi (o di altre aziende), puoi impartire i comandi allo strumento Device Policy Manager ( dpm
). Utilizzare lo strumento per controllare l’app di amministrazione attiva o modificare i dati di stato di una politica sul dispositivo. In una shell, la sintassi è:
dpm command
Puoi anche inviare un comando di gestione dei criteri della periferica direttamente da adb senza inserire una shell remota:
adb shell dpm command
Come usare i comandi ADB e fastboot su Android: Tabella 4 – Comandi di gestione dei criteri dispositivo disponibili |
---|
Comando | Descrizione |
---|---|
set-active-admin [options] component |
Imposta il componente come amministratore attivo.Le opzioni sono:
|
set-profile-owner [options] component |
Imposta il componente come amministratore attivo e il suo pacchetto come proprietario del profilo per un utente esistente.Le opzioni sono:
|
set-device-owner [options] component |
Imposta il componente come amministratore attivo e il suo pacchetto come proprietario del dispositivo.Le opzioni sono:
|
remove-active-admin [options] component |
Disattiva un amministratore attivo. L’app deve dichiarare android:testOnly nel manifest.Questo comando rimuove anche i proprietari di dispositivi e profili.Le opzioni sono:
|
Fare uno screenshot. Il comando screencap
è un’utilità di shell per l’acquisizione di uno screenshot del display di un dispositivo. In una shell, la sintassi è:
screencap filename
Per utilizzare il comando screencap
da dalla riga di comando, digita quanto segue:
adb shell screencap / sdcard / screen . png
Ecco una sessione di screenshot di esempio, che utilizza la shell di adb per acquisire lo screenshot e ilpull
comando per scaricare il file dal dispositivo:
$ adb shell shell@ $ screencap /sdcard/screen.png shell@ $ exit $ adb pull /sdcard/screen.png
Per registrare un video. Il comando screenrecord
è un’utilità shell per registrare la visualizzazione di dispositivi con Android 4.4 (livello API 19) e versioni successive. L’utilità registra l’attività dello schermo su un file MPEG-4. È possibile utilizzare questo file per creare video promozionali o di formazione o per il debug e il test.
In una shell, utilizzare la seguente sintassi:
screenrecord [options] filename
Per utilizzare screenrecord
dalla riga di comando, digitare quanto segue:
$ adb shell shell@ $ screenrecord --verbose /sdcard/demo.mp4 (press Control + C to stop) shell@ $ exit $ adb pull /sdcard/demo.mp4
L’utility screenrecord
può registrare in qualsiasi risoluzione e bit rate supportati, pur mantenendo le proporzioni del display del dispositivo. L’utility registra la risoluzione e l’orientamento nativi dello schermo per impostazione predefinita, con una lunghezza massima di tre minuti.
Limitazioni di screenrecord
:
- L’audio non è registrato con il file video.
- La registrazione video non è disponibile per i dispositivi con sistema operativo Wear.
- Alcuni dispositivi potrebbero non essere in grado di registrare con la risoluzione di visualizzazione nativa. Se si verificano problemi con la registrazione dello schermo, prova a utilizzare una risoluzione dello schermo inferiore.
- La rotazione dello schermo durante la registrazione non è supportata. Se lo schermo ruota durante la registrazione, parte della schermata viene tagliata durante la registrazione.
Come usare i comandi ADB e fastboot su Android: Tabella 5 – Opzioni screenrecord |
---|
Opzioni | Descrizione |
---|---|
--help |
Visualizza la sintassi e le opzioni del comando |
--size widthxheight |
Imposta le dimensioni del video: 1280x720 . Il valore predefinito è la risoluzione di visualizzazione nativa del dispositivo (se supportato), 1280×720 in caso contrario. Per risultati ottimali, utilizza una dimensione supportata dal codificatore AVC (Advanced Video Coding) del tuo dispositivo. |
--bit-rate rate |
Imposta la velocità in bit del video per il video, in megabit al secondo. Il valore predefinito è 4Mbps.È possibile aumentare la velocità in bit per migliorare la qualità del video, ma in questo modo si ottengono file di film più grandi. L’esempio seguente imposta il bit rate di registrazione su 6Mbps:
screenrecord –bit-rate 6000000 /sdcard/demo.mp4 |
--time-limit time |
Imposta il tempo di registrazione massimo, in secondi. Il valore predefinito e massimo è 180 (3 minuti). |
--rotate |
Ruota l’uscita di 90 gradi. Questa funzionalità è sperimentale. |
--verbose |
Visualizza le informazioni del registro sullo schermo della riga di comando. Se non si imposta questa opzione, l’utility non visualizza alcuna informazione durante l’esecuzione. |
Profili ART per le app. A partire da Android 7.0 (livello API 24), Android Runtime (ART) raccoglie i profili di esecuzione per le app installate, utilizzate per ottimizzare le prestazioni dell’app. È possibile esaminare i profili raccolti per capire quali metodi sono determinati per essere eseguiti frequentemente e quali classi vengono utilizzate durante l’avvio dell’app.
Per produrre un modulo di testo delle informazioni del profilo, utilizzare il comando:
adb pull /data/misc/profman/package.txt
Altri comandi shell
Per un elenco di tutti i programmi di shell disponibili, utilizzare il seguente comando:
adb shell ls /system/bin
La guida è disponibile per la maggior parte dei comandi.
La tabella seguente elenca alcuni dei comandi di shell adb più comuni.
Come usare i comandi ADB e fastboot su Android: Tabella 6 – Altri comandi della shell adb |
---|
Comando shell | Descrizione |
---|---|
dumpsys |
Scarica i dati di sistema sullo schermo. |
dumpstate |
Esegue il dump dello stato su un file. |
logcat [option]. |
Abilita la registrazione di sistema e app e stampa l’output sullo schermo. |
dmesg |
Stampa i messaggi di debug del kernel sullo schermo. |
start |
Avvia (riavvia) un dispositivo. |
stop |
Interrompe l’esecuzione di un dispositivo. |
sqlite3 |
Avvia il sqlite3 programma della riga di comando.Lo sqlite3 strumento include comandi come .dump stampa il contenuto di una tabella e.schema stampa l’istruzione SQL CREATE per una tabella esistente. È anche possibile eseguire comandi SQLite al volo.
I database SQLite3 sono memorizzati nella cartella . Per esempio: $ adb -s emulator-5554 shell $ sqlite3 /data/data/com.example.app/databases/rssitems.db Versione SQLite 3.3.12 Immettere ".help" per istruzioni |
Abbiamo quindi visto come usare i comandi ADB e Fastboot su Android, tutti i comandi sono stati recuperati dalla fonte ufficiale developer.android.com e per qualche problema di comprensione causato dalla traduzione del testo trovato nella guida o per leggere tutte le descrizioni dei comandi in lingua originale, ti rimando alla lettura della FONTE.