基本用法
基本命令
adb基本命令,基本语法如下:
adb [-d|-e|-s <serialNumber>] <command>
复制代码
如果当前连接只有一个设备,可以直接省略掉[-d|-e|-s <serialNumber>] 这一部分,直接使用 adb <comman。
为命令行指定目标设备
如果有多台设备或模拟器连接,需要指定目标设备
参数 含义
-d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber> 指定相应 serialNumber 号的设备/模拟器为命令目标
在多个设备/模拟器连接的情况下较常用的是 -s 参数,serialNumber 可以通过 adb devices 命令获取。如:
$ adb devices
List of devices attached
cf668fa device
emulator-555 device
196.168.1.150:5555 device
复制代码
这里的cf668fa以及emulator-555和196.168.1.150:5555都称为serialNumber。
停止/启动
adb start-server
复制代码
启动adb,但是由于系统会自动启动,无需主动调用
adb kill-server
复制代码
停止adb,多用于PC存在多个adb时,全部关闭
查看adb的版本
adb version
复制代码
运行后结果如下:
可见版本为1.0.40. 安装地址在D:\SDK\platform-tools\adb.exe.但是需要在环境变量中配置adb的path路径。
root权限
adb虽然可以用来做一些Root操作,但是前提是设备必须具备root权限,学习可以考虑用虚拟机。 命令:
adb root
复制代码
恢复root:
adb unroot
复制代码
设置adb的网络端口
命令:
adb -P <port> start-server
复制代码
这个几乎很少使用,不知到具体用处,之后补充记录
设备连接
查询设备
查询当前adb连接的设备信息
adb devices
复制代码
List of devices attached
0000119030001002 device
复制代码
输出的组成格式为[serialNumber] [state],其中0000119030001002为设备编号SN,device为设备的状态。设备的状态可以分为以下几种:
offline —— 表示设备未连接成功或无响应。
device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。
no device —— 没有设备/模拟器连接。
该命令为常用命令,多会使用。
USB连接
USB连接就是通过USB线,以及adb来连接Android设备,也是开发工作中使用得最多的连接方式。一般手机需要打开[ 设置」-「开发者选项」-「Android 调试」。如果没有该选项,可以到「设置」-「关于手机」连续点击「版本号」可以打开开发者选项。
USB无线
其实除了USB连接设备外,还可以通过无线网的方式连接,虽然开始需要USB线连接,但是想想可以离开USB线的限制,是不是也有一点小激动呢。操作步骤如下
首先,确认PC和设备是处于同一局域网下,比如同一个路由下的wiffi。这是非常重要的。
其次,将PC和设备通过USB连接在一起,通过adb devices确认是否连接成功.
然后,让设备在555端口监听TCP/IP 连接,当然部分特殊设备端口不是555,酌情调整:
adb tcpip 555
复制代码
之后,断开USB线连接
通过手机自身的设置」-「关于手机」-「状态信息」-「IP地址」或者(推荐后者)通过adb命令去获取设备的ip地址adb shell ifconfig | grep Mask.
使用命令行和得到的IP地址连接设备
adb connect <device-ip-address>
复制代码
<device-ip-address>也就是之前找到的ip地址.
最后,使用adb devices检测是否成功连接设备
无线连接(root)
无线连接的首要条件就是需要root权限.所以一开始就是adb root开启root权限。然后操作步骤与USB一样,但是无需连接USB线。 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。
首先,打开 Android 设备上的终端模拟器,在里面依次运行命令:
su
setprop service.adb.tcp.port 5555
复制代码
再者,通过手机自身的设置」-「关于手机」-「状态信息」-「IP地址」或者(推荐后者)通过adb命令去获取设备的ip地址adb shell ifconfig | grep Mask.
最后,在电脑上通过 adb 和 IP 地址连接 Android 设备。
adb connect <device-ip-address>
复制代码
这里的<device-ip-address> 就是上一步中找到的设备 IP 地址。
如果能看到 connected to <device-ip-address>:端口 这样的输出则表示连接成功。