下面是一些我找到Android的ADB有用的命令。可以手动或使用自动构建和测试过程。
查看设备
代码如下:
adb devices
如果多个设备连接则使用 use adb -s DEVICE_ID连接到目标设备
安装应用
使用install命令安装一个apk包,如果应用已安装到了该设备,则使用-r重新安装和保持原来的应用数据
代码如下:
adb install -r APK_FILE
#example
adb install -r com.feiliu.wjbd
卸载一个应用
代码如下:
adb uninstall APK_FILE
#example
adb uninstall com.feiliu.wjbd
启动一个页面
代码如下:
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.feiliu.wjbd/.MainActivity
adb shell am start -n com.feiliu.wjbd/com.feiliu.wjbd.MainActivity
进入设备的shell界面
代码如下:
adb shell
截屏
Sergei Shvetsov想出了一个很好方法,获得一个屏幕截图且使用shell screencap通过perl输出到本地目录。具体查看他的博客给出的解释
代码如下:
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
解屏
这个命令会发送一个解屏事件到锁屏的设备上
代码如下:
adb shell input keyevent 82
日志
命令行显示Log
代码如下:
adb logcat
根据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
优先过滤
显示一个特定的优先级警告及以上的日志。
代码如下:
adb logcat "*:PRIORITY"
# example
adb logcat "*:W"
优先级:
V — 细则 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 致命
S — 静默 (最高优先级,不会打印任何信息)
使用grep过滤
这个很像在Linux上使用管道命令一样,需系统支持
代码如下:
adb logcat | grep "SEARCH_TERM"
adb logcat | grep "SEARCH_TERM_1\|SEARCH_TERM_2"
#example
adb logcat | grep "Exception"
adb logcat | grep "Exception\|Error"
清除日志块
使用来清除旧的日志
代码如下:
adb logcat -c