(文章出处:http://www.growingwiththeweb.com/2014/01/handy-adb-commands-for-android.html)
查看所有已经连接上的设备:
这个命令可以查看所有已经连接上的设备和他的设备ID:
adb devices
如果有多个设备连接到电脑,可以通过 adb -s DEVICE_ID 来指定用哪一个。
安装应用:
通过install命令来安装apk文件,-r参数可以重新安装某个应用并保留应用数据。
adb install -r APK_FILE
#举例
adb install -r ~/application.apk
卸载应用:
adb uninstall PACKAGE_NAME
#举例
adb uninstall com.growingwiththeweb.example
启动一个Activity:
adb shell am start 包名/.类名
adb shell am start 包名/类的全名#举例
adb shell am start -n com.growingwiththeweb.example/.MainActivity
adb shell am start -n com.growingwiththeweb.example/com.growingwiththeweb.example.MainActivity
进入设备的命令行:
adb shell
屏幕截图:
Sergei Shvetsov搞出了一个很妙的一行获取屏幕截图的代码(*避免了保存手机上再adb pull出来的麻烦)。具体的原理你可以到他的博客上查看。
adb shell screencap -p | perl -pe ‘s/\x0D\x0A/\x0A/g’ > screen.png
模拟电源键:
这个命令将电源键的事件传递给设备:
adb shell input keyevent 26
解锁屏幕:
这个命令向屏幕发送解锁的操作,包含了上面按下电源键和解开锁屏的操作:
adb shell input keyevent 82
输出所有已经安装的应用:
adb shell pm list packages -f
日志相关:
输出当前实时的所有日志:
adb logcat
通过标签名来进行过滤:
adb logcat -s TAG_NAME
adb logcat -s TAG_NAME_1 TAG_NAME_2adb logcat -s TEST
adb logcat -s TEST MYAPP
通过优先级进行过滤:
输出某个优先级及以上的日志:
adb logcat “*:PRIORITY”
#举例
adb logcat “*:W”
优先级分为以下几种:
- V – Verbose
- D – Debug
- I – Info
- W – Warning
- E – Error
- F – Fatal
- S – Silent (最高优先级,其实是什么也不输)
同时通过标签和优先级进行过滤:
adb logcat -s TAG_NAME:PRIORITY
adb logcat -s TAG_NAME_1:PRIORITY_1 TAG_NAME_2:PRIORITY
#举例
adb logcat -s test:W
用grep命令来过滤:
logcat的输出可以通过系统的grep命令来过滤:
adb logcat | grep “SEARCH_TERM”
adb logcat | grep “SEARCH_TERM_1\|SEARCH_TERM_2”adb logcat | grep “Exception”
adb logcat | grep “Exception\|Error”
清除logcat缓冲区:
用这个命令来清除一些重复出现的过时的日志
adb logcat -c