以前我调试Android程序都是用usb线连接手机和电脑调试,之后无意间发现一款叫Andoird ADB的app后才发现adb调试是多么好用!于是我从网上找了不少adb调试应用的方法,在这里总结出来。
adb简介
ADB全称Android Debug Bridge,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。同时这是一个包含了以下三部分的cs模式的程序:
adb client
从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
所有的client都是通过5037端口与adb-server进行通信的。
adb daemon(adbd)
从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。
daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:
|
|
也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。
说回端口的作用,在这两个端口中,其中偶数端口是用于server 与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。
adb server
从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。
当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。
使用adb连接电脑
使用app连接
adb调试有两种开启方法,最简单的是使用别人写好的程序进行开启。直接在应用商店中搜索wifi adb,adb等字样就能找到数十款adb调试应用,安装打开后一键开启adb,然后按提示从电脑连接即可。注意,连接前需要保证程序拥有root权限,而且电脑和手机处于同一局域网内。
手动连接
除了使用app连接外,我们还可以通过从终端更改adb设置来连接。
食用方法
默认情况下ADB的连接方式为USB,所以需要更改ADB的连接方式.在手机上打开终端模拟器(终端模拟器是类似linux中的终端,可以在网上下载到这个app)输入以下命令:
在得出的数据中寻找类似wlan0 UP 192.168.1.1/1
的字符串,其中192.168.1.1/1
就是手机在局域网中的ip地址
进阶食用方法
上述命令中的setprop service.adb.tcp.port 5555
可以更改为persist service.adb.tcp.port 5555
,这样就可以保证手机在重启后还保持相同的设置,就不会出现重启后又得重新手动修改adb设置的情况。