Here are some of the commands I find useful for Android's adb
. They can be used manually or to automate your build or testing process.
View connected device(s)
Use this to view all connected devices and list their IDs.
adb devices
If multiple devices are attached, use adb -s DEVICE_ID
to target a specific device.
Install an application
Use the install
command to install an apk, the optional -r
argument reinstalls and keeps any data if the application is already installed on the device.
adb install -r APK_FILE # example adb install -r com.growingwiththeweb.example
Uninstall an application
adb uninstall PACKAGE_NAME # example adb uninstall com.growingwiththeweb.example
Start an activity
adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY # example adb shell am start -n com.growingwiththeweb.example/.MainActivity adb shell am start -n com.growingwiththeweb.example/com.growingwiththeweb.example.MainActivity
Entering the device's shell
adb shell
Take a screenshot
Sergei Shvetsov came up with a nice one liner that takes a screenshot with shell screencap
and outputs it to a local directory using perl. Checkout his blog for an explanation.
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
Unlock screen
This command sends the event that unlocks the lockscreen on the device.
adb shell input keyevent 82
Logging
To show the log stream on your command line.
adb logcat
Filter by tagname
adb logcat -s TAG_NAME adb logcat -s TAG_NAME_1 TAG_NAME_2 #example adb logcat -s TEST adb logcat -s TEST MYAPP
Filter by priority
To show logs of a specific priority warning and above.
adb logcat "*:PRIORITY" # example adb logcat "*:W"
Here are the priority levels:
- V — Verbose (lowest priority)
- D — Debug
- I — Info
- W — Warning
- E — Error
- F — Fatal
- S — Silent (highest priority, on which nothing is ever printed)
Filter by tagname and priority
adb logcat -s TAG_NAME:PRIORITY adb logcat -s TAG_NAME_1:PRIORITY TAG_NAME_2:PRIORITY #example adb logcat -s TEST: W
Filter using grep
Alternatively the output of logcat
can be piped to grep
on a system that supports it.
adb logcat | grep "SEARCH_TERM" adb logcat | grep "SEARCH_TERM_1\|SEARCH_TERM_2" #example adb logcat | grep "Exception" adb logcat | grep "Exception\|Error"
Clearing the logcat
buffer
Use this to clear the buffer to remove any old log data.
adb logcat -c
Further reading
See more details on the official adb
reference site.