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编辑  收藏  举报

导航