adb 命令是adb程序自带的一些命令;adb shell则是调用Android系统的命令,Android系统特有的命令都放在Android设备的/system/bin目录中
MonkeyRunner能做到的事情,通过adb命令均可以做到
常用ADB命令
adb start-server
//关闭adb服务
adb kill-server
//查看连接设备
adb devices
//获取设备状态
//3中状态:device(设备连接正常),offline(连接异常,设备无响应),unknown(无设备)
adb get-state
重启机器
//正常重启
adb reboot
// 重启到 bootloader (刷机模式)
adb reboot bootloader
// 重启到 recovery (恢复模式)
adb reboot recovery
//安装应用程序(前提是切换至安装包所在路径)
adb install XXX.apk
//卸载应用程序
adb uninstall XXX
常见ADB shell命令
// 查看网络状态
adb shell netstat
//查看service
adb shell service list
**adb shell下常用的命令有pm,am,input
pm(package Manager),即获取安装在Android设备上的应用信息
可通过在DOC窗口运行adb shell pm
可以获取到帮助信息**
//获取设备上安装的所有应用
adb shell pm list package
//获取设备上系统应用
adb shell pm list package -s
//获取设备上安装的第三方应用
adb shell pm list package -3
//获取所有应用及存放位置
adb shell pm list package -f
//获取所有应用及安装来源
adb shell pm list package -i
//获取指定包名对应apk路径
adb shell pm path 包名
//获取指定应用的dump信息
adb shell pm dump 包名
//清空指定应用的数据及缓存
adb shell pm clear 包名
//获取设备上的权限
adb shell pm list permissions
//列出设备上所有feature
adb shell pm list features
am(activity manager)可用来模拟各种系统的行为
am start启动Acticity
//-n 启动指定的Activity
//-S先停止目标应用再启动
//-W 等待应用完成启动
adb shell am start -n Activity
//am monitor:监控crash和ANR
adb shell am monitor
am force-stop:结束应用
am startservice:启动服务
am broadcast:发送广播
am instrument , 启动instrumentation,单元测试可以用到
input:向Android设备发送按键事件
//模拟输入,%s代表空格
adb shell input test "文字"
//模拟按键,82代表菜单键
// 更多KEYCODE可以参考 http://developer.android.com/intl/zh-cn/reference/android/view/KeyEvent.html
adb shell input keyevent 82
//模拟点击
adb shell input tap 100 200
//模拟滑动,从位置A-B
adb shell input swipe 0 1000 800 600
//模拟长按,单位为毫秒
adb shell input swipe 0 100 0 100 100
screencap:截图命令
//截屏
adb shell screencap /sdcard/1.png
screenrecord:录屏
//录屏
//--size 指定录制视频的分辨率
//--bit-rate 设置视频采样比特率,缺省值为4Mbps
//--time-limit 设置录制时间,单位S,默认180S
//--verbose 录屏时电脑端屏显log,录制结束后还发出了广播android.intent.action
adb shell screenrecord --verbose --size 1920x1080 --bit-rate 5000000 --time-limit 20 /sdcard/test1.mp4
dumpsys:打印当前系统所有service信息
如:电量相关
//查看电量管理信息
adb shell dumpsys power
//查看电池用量情况
adb shell dumpsys battery
//查看电池信息
adb shell dumpsys batterystats
//查看指定应用的内存使用情况
adb shell dumpsys meminfo 包名
monkey:运行monkey命令
//执行monkey命令
adb shell monkey -p 包名
uiautomator:获取当前界面控件信息
//dump获取控件信息
adb shell uiautomator dump
//runtest
ime:获取输入法
adb shell ime list -s
adb shell ime set 输入法
wm:获取屏幕分辨率
adb shell wm size
其他常用命令
查看进程
adb shell ps
查看文件
//查看根目录下所有文件
adb shell ls
//查看sd卡根目录下所有文件
adb shell ls /scard/
//切换到子目录下
adb shell cd /路径
//显示当前所在目录
adb shell pwd
//删除文件
//-f强制删除文件不需要确认
//-r递归删除文件夹内所有文件
//-i删除文件前需要确认
adb shell rm 路径
//创建目录
//-p按照递归创建目录
adb shell mkdir 路径
//拷贝文件从A到B
adb shell cp /A/文件 /B
//移动文件
adb shell mv 路径/文件 路径文件
//复制文件到本地
adb pull /sdcard/1.png d:
//推送本地文件至连接设备
adb push d:1.png /sdcard/
查看CPU及内存
//-n默认每隔1s刷新一次CPU及内存
//-m占用内存前N
//查看占用内存前3的应用,刷新1次
adb shell top -m 3 -n 1
//查看系统当前CPU使用情况
adb shell cat /proc/cpuinfo
adb shell cat /proc/stat
//查看系统当前内存使用情况
adb shell cat /proc/meinfo
其他
//打印日志
adb logcat
参考文档:
adb常用指令
android adb常用命令收集