ADB常用命令
接触过安卓的同学都了解adb(Android Debug Bridge,简称adb),一般存放在sdk安装目录下的platform-tools文件夹中,可以使用adb与移动设备进行交互
一、adb简介
pc与安卓设备交互,包含3个部分的cs模式的程序:adb client ,adb server,adb daemon
其中client 和server运行在pc端
(1)adb client
每当发起一个adb命令,就会开启一个client程序。开启DDMS或者ADT时,也会创建client
开启client时,会检测后台是否有server进程运行,否则开启一个server进程(占用端口5037与server通信)
(2)adb server
server也是作为后台程序运行在pc端,负责管理client和daemon之间的通信。
一个server开启后,会自动绑定且监听5037端口,接收client通过该端口发过来的命令
另外server还会对5555-5585间的奇数端口(最多16个)进行扫描,进行对已连接设备的定位(与adb daemon通信)
(3)adb daemon
daemon作为后台进程运行在设备或模拟器上
使用的端口范围是5554-5585,设备连接至pc后会开启后台进程,分配2个连续的端口(console + adb)
其中偶数端口用于server和设备进行交互,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的
二、常用的adb命令
了解了adb的组成,再来介绍下adb的常用命令
1、adb命令的使用格式
关键字:adb [方括号内可选] <命令> 需要执行的操作
方括号内可选的参数有:
-d:唯一连接到pc的真实安卓设备执行命令,如果有多个设备,会报错
-e:连接模拟器,其他同-d含义
-s:通过设备序列号进行指定设备执行命令
当连接的设备只有一个时,可以不声明这三个参数,否则请加上
2、常用命令
查看连接设备
adb devices
查看adb版本
adb version Android Debug Bridge version 1.0.32 Revision 09a0d98bebce-android
安装软件
adb install <path/package> 例如:adb install d:\sohu.sohuvideo.apk
如果使用覆盖安装,那么加上-r选项就可以了
在网上查到还有一个命令:adb shell pm install <path>
卸载设备中已经安装的软件
adb uninstall <package>
如果指定某个手机可以加上-s参数
adb -s <serialNumber> uninstall <pkg_name>
如果卸载后希望保留参数,加上-k参数即可
将手机的数据复制到pc中,使用
adb pull <手机目录> <pc目录>
例如:adb pull /data c:\
将pc的文件复制到设备中
adb push d:/test /sdcard
获取连接设备的SN号(同adb devices 显示的相同)
adb get-serialno
获取当前设备状态
adb get-state
adb server的开启与关闭
adb kill-server adb start-server
三、手机执行shell命令
安卓内核就是linux,所以也支持linux命令。自带常用的命令满足我们使用,其他的据说可以安装busybox
2种方式:1每次使用加上adb shell <command> 2、先进入adb shell ,再进行某些命令的操作
1、adb shell am 命令
am即Activity Manager ,可以使用am模拟各种系统行为,比如启动一个activity,强制停止进程,发送广播进程等,例如
am startservice com.sohu.sohuvideo/.XX.service
am start com.sohu.sohuvideo/XXActivity
强制杀死进程
am force-stop com.sohu.sohuvideo
其他的不常用,就先不列举了
2、adb shell pm命令
pm称为,package manager,用来模拟安卓行为或查询设备上的应用
可以查询指定包名所在的路径
pm path com.sohu.sohuvideo
查看手机中的包
pm list package
清除指定package的所有数据
pm clear com.sohu.sohuvideo
其他常用的也没有了,遇到再补充
四、logcat命令
adb logcat也是常用的命令,可以打印出对应的log,常用的级别为-v(显示全部信息)(其他如-d,-e均有限制过滤,使用较少)
adb logcat 常用的参数介绍
adb logcat -c :清除缓冲区log并退出
adb logcat -s : 设置过滤器
adb logcat -v :设置输出格式的log,常用的有加time(只能指定一个方式)
可以使用多种方法对log进行过滤处理:
例如使用grep ,adb logcat | grep 关键字
其他如指定标签,指定级别用的比较少
五、adb shell dumpsys
常用的查看系统相关信息的命令
1输出系统内存信息
adb shell dumpsys meminfo
2输出当前cpu使用情况信息
adb shell dumpsys cpuinfo
3输出当前activity使用情况信息
adb shell dumpsys activity (可使用| grep "sohu" ,过滤查找)
4获取系统属性
adb shell getprop
5查看某个包的内存使用情况
dumpsys meminfo <packagename> ------具体某些指标的含义后续补充吧
六、查看手机进程相关
1查看手机进程信息
adb shell ps
2获取cpu的使用情况,只查看一次,不实时刷新
adb shell top -n 1
3获取前10的cpu使用情况,只查看一次,不实时刷新
adb shell top -n 1 -m 10
七、cat相关命令
1 查看当前的内存情况 adb shell cat /proc/meminfo
2 查看CPU信息(硬件) adb shell cat /proc/cpuinfo
3 查看IO内存分区 adb shell cat /proc/iomem
八、其他常用命令
1 报告输出:adb bugreport
2 monkey命令
3 uiautomator
4 设备关机与重启
adb reboot
adb shutdown
常用的应该就这些了~~~后续再补充吧
posted on 2018-11-30 20:43 testzhangcs 阅读(337) 评论(0) 编辑 收藏 举报