Questo elencherà i dispositivi connessi; se appare "non autorizzato", significa che devi sbloccare il tuo mobile e accettare la connessione.
Questo indica al dispositivo che deve avviare un server adb sulla porta 5555:
adb tcpip 5555
Collegati a quell'IP e a quella Porta:
adb connect <IP>:<PORT>
Se ricevi un errore come il seguente in un software Android virtuale (come Genymotion):
adb server version (41) doesn't match this client (36); killing...
È perché stai cercando di connetterti a un server ADB con una versione diversa. Prova a trovare il binario adb che il software sta utilizzando (vai su C:\Program Files\Genymobile\Genymotion e cerca adb.exe)
Diversi dispositivi
Ogni volta che trovi diversi dispositivi connessi al tuo computer dovrai specificare in quale vuoi eseguire il comando adb.
Nel caso in cui la portaadb sia accessibile solo da localhost nel dispositivo android ma hai accesso tramite SSH, puoi inoltrare la porta 5555 e connetterti tramite adb:
Stampa tutti i pacchetti, opzionalmente solo quelli il cui nome del pacchetto contiene il testo in <FILTER>.
adb shell pm list packages [options] <FILTER-STR>
adbshellpmlistpackages<FILTER-STR>adbshellpmlistpackages-f<FILTER-STR>#See their associated file.adbshellpmlistpackages-d<FILTER-STR>#Filter to only show disabled packages.adbshellpmlistpackages-e<FILTER-STR>#Filter to only show enabled packages.adbshellpmlistpackages-s<FILTER-STR>#Filter to only show system packages.adbshellpmlistpackages-3<FILTER-STR>#Filter to only show third party packages.adbshellpmlistpackages-i<FILTER-STR>#See the installer for the packages.adbshellpmlistpackages-u<FILTER-STR>#Also include uninstalled packages.adbshellpmlistpackages--user<USER_ID><FILTER-STR>#The user space to query.
adb shell pm path <PACKAGE>
Stampa il percorso dell'APK del dato .
adbshellpmpathcom.android.phone
adb shell pm clear <PACKAGE>
Elimina tutti i dati associati a un pacchetto.
adbshellpmclearcom.test.abc
File Manager
adb pull <remote> [local]
Scarica un file specificato da un emulatore/dispositivo al tuo computer.
adbpull/sdcard/demo.mp4./
adb push <local> <remote>
Carica un file specificato dal tuo computer a un emulatore/dispositivo.
adbpushtest.apk/sdcard
Screencapture/Screenrecord
adb shell screencap <filename>
Catturare uno screenshot del display di un dispositivo.
adbshellscreencap/sdcard/screen.png
adb shell screenrecord [options] <filename>
Registrazione del display dei dispositivi che eseguono Android 4.4 (livello API 19) e versioni successive.
adbshellscreenrecord/sdcard/demo.mp4adbshellscreenrecord--size<WIDTHxHEIGHT>adbshellscreenrecord--bit-rate<RATE>adbshellscreenrecord--time-limit<TIME>#Sets the maximum recording time, in seconds. The default and maximum value is 180 (3 minutes).adbshellscreenrecord--rotate# Rotates 90 degreesadbshellscreenrecord--verbose
(press Ctrl-C to stop recording)
Puoi scaricare i file (immagini e video) usando _adb pull_
Shell
adb shell
Ottieni una shell all'interno del dispositivo
adbshell
adb shell <CMD>
Esegui un comando all'interno del dispositivo
adbshellls
pm
I seguenti comandi vengono eseguiti all'interno di una shell
pmlistpackages#List installed packagespmpath<packagename>#Get the path to the apk file of tha packageamstart [<options>] #Start an activity. Whiout options you can see the help menuamstartservice [<options>] #Start a service. Whiout options you can see the help menuambroadcast [<options>] #Send a broadcast. Whiout options you can see the help menuinput [text|keyevent]#Send keystrokes to device
Processi
Se vuoi ottenere il PID del processo della tua applicazione puoi eseguire:
adbshellps
E cerca la tua applicazione
Oppure puoi fare
adbshellpidofcom.your.application
E stamperà il PID dell'applicazione
Sistema
adbroot
Riavvia il demone adbd con permessi di root. Poi, devi riconnetterti al server ADB e sarai root (se disponibile)
adbsideload<update.zip>
flashing/restoring Android update.zip packages.
Logs
Logcat
Per filtrare i messaggi di un'unica applicazione, ottieni il PID dell'applicazione e usa grep (linux/macos) o findstr (windows) per filtrare l'output di logcat:
adblogcat|grep4526adblogcat|findstr4526
adb logcat [opzione] [specifiche-filtri]
adblogcat
Note: premi Ctrl-C per fermare il monitor
adblogcat*:V# lowest priority, filter to only show Verbose leveladblogcat*:D# filter to only show Debug leveladblogcat*:I# filter to only show Info leveladblogcat*:W# filter to only show Warning leveladblogcat*:E# filter to only show Error leveladblogcat*:F# filter to only show Fatal leveladblogcat*:S# Silent, highest priority, on which nothing is ever printed
adb logcat -b <Buffer>
adblogcat-b# radio View the buffer that contains radio/telephony related messages.adblogcat-b# event View the buffer containing events-related messages.adblogcat-b# main defaultadblogcat-c# Clears the entire log and exits.adblogcat-d# Dumps the log to the screen and exits.adblogcat-ftest.logs# Writes log message output to test.logs .adblogcat-g# Prints the size of the specified log buffer and exits.adblogcat-n<count># Sets the maximum number of rotated logs to <count>.
Note: Battery Historian converte questi dati in una visualizzazione HTML. PASSO 1adb shell dumpsys batterystats > batterystats.txtPASSO 2python historian.py batterystats.txt > batterystats.html
Esegui il backup di un dispositivo Android da adb.
adbbackup [-apk] [-shared] [-system] [-all] -f file.backup# -apk -- Include APK from Third partie's applications# -shared -- Include removable storage# -system -- Include system Applciations# -all -- Include all the applicationsadbshellpmlistpackages-f-3#List packagesadbbackup-fmyapp_backup.ab-apkcom.myapp# backup on one deviceadbrestoremyapp_backup.ab# restore to the same or any other device