全程不用usb数据线,adb通过网络连接Android设备

这两天又碰上了一个Android机器,主板没有一般USB和Type-C接口,只有一个网口,要进行应用调试, 只能通过网络连接adb。 搜索了一下, 关于通过adb进行网络调试的主题帖子真多, 我这里就总结一下;

一. adb通过网络调试Android设备的原理

ADB(Android Debug Bridge), 简称安卓调试桥,它主要包含三部分,服务端(PC)客户端(Android设备)adbd(Android系统中运行的服务)
服务端与设备端联系有两种常见的方法,一种是USB,另一种就是TCP/IP网络;
我们常说的adb调试设备,其实就是服务端通过USB或者TCP/IP连接设备端运行的adbd服务,进而对设备端进行控制。

二.全程不用usb数据线,adb通过网络调试

按照上述的基本原理, 我们在Android设备中通过U盘等方法安装一个超级终端, 下载网址http://os-android.liqucn.com/rj/84712.shtml 或者我上传的https://download.csdn.net/download/limin13215/10677131(这个资源分不知道为啥不能设为0)。

首先保证Android设备和PC端在同一个局域网时,再进行以下操作。

Android端:
终端中输入一下命令:

su
setprop service.adb.tcp.port  5555
stop adbd
start adbd

如果以上顺利执行,在PC 端cmd中输入命令:

adb connect Android设备的IP地址

如果成功,会提示“ connected to 192.168.*.*:5555 ”;

就是这么简单,完全没有用到USB数据线。

如果你能对/system/build.prop进行重写,直接将"service.adb.tcp.port=5555"写入,重启机器,以后你就可以直接在PC端就可以连接了,Android端不必做上述提到的命令操作;

三. Android端操作命令封装成apk

看看上面对Android端操作的好几个命令,想想如果每次都要这么输入,太麻烦。所以网上有很多封装了这些命令的apk,因为系统原因,可能有的没有效果。原因有一下几点:

  1. 系统没有root,执行不了“ su ”命令,提示“must be root”
  2. 系统没有启动adbd服务
  3. 因为网络不通的关系

其实,如果通过第二步adb能够网络调试了,恰好,系统能让你修改/system/build.prop文件,你完全可以把setprop service.adb.tcp.port 5555这条命令写进build.prop文件,重新开机以后,你就可以直接在PC端输入命令就可以连接了,而不用再Android端输入这么多命令。

继续接着说,其实,你再网上看到的下载的所谓无线调试工具apk, 都是从下面这个经典的Github稍加改编而编译出来的应用程序:
https://github.com/slightlywobbly/adbwireless

赶紧去clone,编译调试源码吧 。

四.如果设备可以通过USB数据线连接PC,那Android系统有没有root都可以进行网络调试

  1. 连上USB数据线后, 只需在PC端cmd进行以下命令操作:
adb tcpip 5555 //默认是5555,如果设备系统指定了其他端口号, 改成指定端口号
adb connect Android设备的IP地址
  1. 然后端开USB数据线.

  2. 再次执行连接操作:

adb connect Android设备的IP地址

Andoird设备的IP地址,可以通过adb命令查询:

adb shell ip -f inet addr show wlan0

你可能感兴趣的:(android系统移植)