移动端开发,特别是 Android,模拟器略卡,也比较容易吃内存,因此我几乎都是电脑连真机调试运行,链接的纽带就是一根数据线。android
数据线是没什么错的,错就错在,它是一根能够肉体可接触到的实物线。不少时候抬手拿杯子不当心碰了它一下,链接就断掉了, 想象一下,当写完一个很是棒的代码,准备运行看效果,未发现链接设备,这种状况发生屡次时,心里的语言是十分不健康的。shell
因此,想给你们分享一个实用的小技巧,来摆脱数据线这个磨人的小妖精。bash
具体操做步骤很是简单,只要三步,不过有两个前提条件。服务器
1.电脑配置安装了 ADB 环境。关注个人绝大部分是 Android 开发人员,这个前提条件应该很好知足,很少说了。网络
2.手机和电脑的 IP 要保证是同一个网段内。这个只要连的是同一个局域网,通常都是在一个网段内的。tcp
第一步仍须要数据线,链接电脑和手机,这一步确保要链接成功,个人确认方法是看 Android Studio 的链接设别列表或 adb devices 命令查看。工具
若是你没有看到设备,在手机上检查 开发者选项-USB 调试 是否打开。测试
成功链接以后,第二步是设置手机设备的 WIFI 调试端口 5555,而后少年,你就能够拔掉数据线啦,第三步已经能够无线的条件下操做了呢。ui
在电脑上的命令行窗口,输入下面的命令:spa
adb tcpip 5555;
复制代码
下面是运行结果截图,提示信息显示已经重置了端口。
最后一步,一个链接命令便可,以下,可是该命令须要知道手机的 IP 地址。
adb connect <要链接设备的IP地址>;
复制代码
拿到手机的 IP 地址的方法有不少,这里分享两个我本身的方法。
第一种是下面这个命令,运行能够查看到链接设备的 IP 地址。
adb shell ifconfig wlan0;
复制代码
下面红框标准的地方,就是设备的 IP 地址。
第二种是在手机操做,打开 设置-WLAN-配置 页面,可看到当前 IP 。
拿到设备的 IP 后,使用 adb connect 命令链接电脑和手机。
以上就完成了整个过程,此时再次运行 adb devices 得出如下结果。没有经过数据线,但成功的链接上了电脑和手机。
不一样就是前面设备的惟一标识 APU7N16304003941,从 ADB 生成的随机序列号变成了 IP:port 的具体网络地址 192.168.0.126:5555。
是否是很神奇?
其实神奇的是无线通讯,一种利用电波信号能够在自由空间中传播的特性进行信息交换的通讯方式。固然这不是重点,是我在抖机灵,重点在于 ADB 的工做的方式和两种链接模式。
在平常的开发过程当中,一直在使用着 ADB,可是不少人对它所知很少,例如我,如今你们来一块儿简单复习下吧。
ADB,是 Android Debug Bridge 的缩写,中文翻译为 Android 调试桥,是一个通用命令行工具。在 android_sdk/platform-tools 中能够找到它,它能够被用来直接操做 Android 的各类设备。例如 APK 的安装和卸载,查看手机已安装应用的包名和签名信息等等。
ADB 其实分为三个部分:
下面是三者关系的简单示意图:
ADB 支持两种方式和 PC 进行链接通讯, USB 和 TCP/IP 。数据线链接使用的是 USB 方式,咱们此次介绍的 WIFI 链接使用的是 TCP/IP 方式。
手机上的 adbd 默认使用 USB 模式,若是要使用 WIFI 链接,须要手动打开 5555 监听。所以,咱们有了上面 adb tcpip 5555;
的这个操做步骤。
实际上,设置 5555 端口监听,实质上是设置 adbd 中 service.adb.tcp.port 的值。当 adbd 启动的时候,会先检查这个值,若是设置了,就是使用 TCP/IP 做为链接方式。若是没设置,就选择用 USB 做为链接方式。
若是设备拥有 root 权限,能够不用数据线,在手机上经过命令行设置听说也是能够的。手上没有已经 root 的设备,无法实践。大家条件知足,有兴趣能够尝试一下。
使用的命令以下:
// adb shell 下面执行一下命令
setprop service.adb.tcp.port 5555
ps |grep adbd
kill -9 {adbd进程号}
复制代码
好啦,结束!小伙伴们,赶忙试下这个方法,体验从有线变无线的感受,很是棒棒哒。
偷偷告诉你,WIFI 方式能够链接多台手机呢,不再用怕电脑上的 USB 插口不够用了。还能够给测试妹纸的设备链接上开发电脑上,随时安装最新的 APK,也是成功地秀了一波操做!
好啦,咱们下篇文章见。喜欢不要忘记给做者点个赞,或者分享给你的小伙伴哦!
经过评论发现,文章中有几个地方没有描述清楚,这里补充几点:
不是每次链接的时候,都须要插数据线,理论上只是第一次须要。
文章中说到插数据线,是为了设置端口,容许 WI-FI 调试。因此若是WI-FI 调试使用过程当中,链接断掉,只须要再次使用 connect 命令就行了。
为何说理论上,由于评论中「设计师吴彦祖」同窗提出 “大部分国产手机可能会出现端口不是5555的状况; 即便你设置成5555重启手机后也会变回去; ” 这种状况我暂时还没遇到,可是遇到的同窗,须要从新链接数据线,设置端口号。
关于耗电与充电
看到这个问题,我深有体会。由于前几天,发现测试机居然提示电量不足!,有线状态下,没电就自动补充了,测试机几乎一直是满电状态,忽然被提示电量不足,的确意外。关于耗电与否,没有准确数据评估,可是我以为咱应该不差这点电吧。
没电了,咱就去充唄。
AS 能够设置相似功能的插件 Android Studio 能够设置相关插件,例如:ADB WIFI/ADB WIFI Connect 等,支持设置 WIFI 调试,原理没研究过不太清楚,有GUI页面供操做,使用起来很方便。看你们须要,喜欢用啥,就用啥,知足需求就能够。