Adb
| Command | Descr |
|---|---|
adb kill-server | kill serve |
adb start-server | start server |
adb reboot | reboot |
adb reboot recovery | reboot + recover |
adb reboot-bootloader | reboot + bootloader |
adb root | restarts adb with root permissions (doesn’t work) |
adb shell | Open or run commands in a terminal on the host Android device. |
adb usb | list usb devices |
adb devices | show devices attached |
adb devices -l | devices (product/model) |
adb connect <ip_address_of_device> | connect to ip |
adb shell getprop ro.build.version.release | android device version |
| Logcat | |
adb logcat | cat logs |
adb logcat -c clear | The parameter -c will clear the current logs on the device. |
adb logcat -d > [path_to_file] | Save the logcat output to a file on the local system. |
adb bugreport > [path_to_file] | Dump all information like dumpstate, dumpsys and logcat output. |
| Files | |
adb push [source] [destination] | computer -> phone |
adb pull [device file location] [local file location] | phone -> computer. |
adb shell input text 'Wow, it so cool feature' | print text |
adb shell monkey -p com.myAppPackage -v 10000 -s 100 // monkey tool is generating 10.000 random events on the real device
adb -e install path/to/app.apk
-d - directs command to the only connected USB device...
-e - directs command to the only running emulator...
-s <serial number> ...
-p <product name or path> ...
The flag you decide to use has to come before the actual adb command:
adb uninstall com.myAppPackage
adb uninstall <app .apk name>
adb uninstall -k <app .apk name> -> "Uninstall .apk withour deleting data"
adb shell pm uninstall com.example.MyApp
adb shell pm clear [package] // Deletes all data associated with a package.
// Uninstall the given app from all connected devices
adb devices | tail -n +2 | cut -sf 1 | xargs -IX adb -s X uninstall com.myAppPackage
adb install -r yourApp.apk // -r means re-install the app and keep its data on the device.
adb install –k <.apk file path on computer>
adb shell am start -a android.intent.action.VIEW
adb shell am broadcast -a 'my_action'
adb shell am start -a android.intent.action.CALL -d tel:+972527300294 // Make a call
// Open send sms screen with phone number and the message:
adb shell am start -a android.intent.action.SENDTO -d sms:+972527300294 --es sms_body "Test --ez exit_on_sent false
// Reset permissions
adb shell pm reset-permissions -p your.app.package
adb shell pm grant [packageName] [ Permission] // Grant a permission to an app.
adb shell pm revoke [packageName] [ Permission] // Revoke a permission from an app.
// Emulate device
adb shell wm size 2048x1536
adb shell wm density 288
// And reset to default
adb shell wm size reset
adb shell wm density reset
adb shell screencap -p /sdcard/screenshot.png
$ adb shell
shell@ $ screencap /sdcard/screen.png
shell@ $ exit
$ adb pull /sdcard/screen.png
---
adb shell screenrecord /sdcard/NotAbleToLogin.mp4
$ adb shell
shell@ $ screenrecord --verbose /sdcard/demo.mp4
(press Control + C to stop)
shell@ $ exit
$ adb pull /sdcard/demo.mp4
Ref: https://developer.android.com/reference/android/view/KeyEvent.html
adb shell input keyevent 187 // APP SWITCHER adb shell input keyevent 3 // Home btn adb shell input keyevent 4 // Back btn adb shell input keyevent 5 // Call adb shell input keyevent 6 // End call adb shell input keyevent 26 // Turn Android device ON and OFF. It will toggle device to on/off status. adb shell input keyevent 27 // Camera adb shell input keyevent 64 // Open browser adb shell input keyevent 66 // Enter adb shell input keyevent 67 // Delete (backspace) adb shell input keyevent 207 // Contacts adb shell input keyevent 220 / 221 // Brightness down/up adb shell input keyevent 277 / 278 /279 // Cut/Copy/Paste
replace org.example.app with your application id
adb shell 'am broadcast -a org.example.app.sp.PUT --es key key_name --es value "hello world!"'
adb shell 'am broadcast -a org.example.app.sp.REMOVE --es key key_name'
adb shell 'am broadcast -a org.example.app.sp.CLEAR --es key key_name'
adb shell 'am broadcast -a org.example.app.sp.PUT --es name Game --es key level --ei value 10'
adb shell 'am broadcast -a org.example.app.sp.PUT --es key string --es value "hello world!"'
adb shell 'am broadcast -a org.example.app.sp.PUT --es key boolean --ez value true'
adb shell 'am broadcast -a org.example.app.sp.PUT --es key float --ef value 3.14159'
adb shell 'am broadcast -a org.example.app.sp.PUT --es key int --ei value 2015'
adb shell 'am broadcast -a org.example.app.sp.PUT --es key long --el value 9223372036854775807'
adb shell 'am broadcast -a org.example.app.sp.CLEAR --ez restart true'
| Category | Command |
|---|---|
| Device Information | adb get-statе (print device state) |
| Device Information | adb get-serialno (get the serial number) |
| Device Information | adb shell dumpsys iphonesybinfo (get the IMEI) |
| Device Information | adb shell netstat (list TCP connectivity) |
| Device Information | adb shell pwd (print current working directory) |
| Device Information | adb shell dumpsys battery (battery status) |
| Device Information | adb shell pm list features (list phone features) |
| Device Information | adb shell service list (list all services) |
| Device Information | adb shell dumpsys activity <package>/<activity> (activity info) |
| Device Information | adb shell ps (print process status) |
| Device Information | adb shell wm size (displays the current screen resolution) |
| Package info | adb shell list packages (list package names) |
| Package info | adb shell list packages -r (list package name + path to apks) |
| Package info | adb shell list packages -3 (list third party package names) |
| Package info | adb shell list packages -s (list only system packages) |
| Package info | adb shell list packages -u (list package names + uninstalled) |
| Package info | adb shell dumpsys package packages (list info on all apps) |
| Package info | adb shell dump <name> (list info on one package) |
| Package info | adb shell path <package> (path to the apk file) |
| Settings | adb shell dumpsys battery set level <n> (change the level from 0 to 100) |
| Settings | adb shell dumpsys battery set status<n> (change the level to unknown, charging, discharging, not charging or full) |
| Settings | adb shell dumpsys battery reset (reset the battery) |
| Settings | adb shell dumpsys battery set usb <n> (change the status of USB connection. ON or OFF) |
| Settings | adb shell wm size WxH (sets the resolution to WxH) |
| Device | adb reboot-recovery (reboot device into recovery mode) |
| Device | adb reboot fastboot (reboot device into recovery mode) |
| Device | adb shell screencap -p "/path/to/screenshot.png" (capture screenshot) |
| Device | adb shell screenrecord "/path/to/record.mp4" (record device screen) |
| Device | adb backup -apk -all -f backup.ab (backup settings and apps) |
| Device | adb backup -apk -shared -all -f backup.ab (backup settings, apps and shared storage) |
| Device | adb backup -apk -nosystem -all -f backup.ab (backup only non-system apps) |
| Device | adb restore backup.ab (restore a previous backup) |
| Device | -a <ACTION> e.g. android.intent.action.VIEW |
| Device | -c <CATEGORY> e.g. android.intent.category.LAUNCHER (start activity intent) |
| Device | adb shell am start -a android.intent.action.VIEW -d URL (open URL) |
| Device | adb shell am start -t image/* -a android.intent.action.VIEW (opens gallery) |
| Logs | adb logcat [options] [filter] [filter] (view device log) |
| Logs | adb bugreport (print bug reports) |
| Misc | adb backup - Create a full backup of your phone and save to the computer. |
| Misc | adb restore- Restore a backup to your phone. |
| Misc | adb sideload - Push and flash custom ROMs and zips from your computer. |