这两天又碰上了一个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端:
终端中输入一下命令:

susetprop service.adb.tcp.port  5555stop adbdstart 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

更多相关文章

  1. Anbox:容器中的_Android
  2. Android(安卓)build常见Error
  3. Android的真机调试,INSTALL_FAILED_NO_MATCHING_ABIS
  4. Android(安卓)学习记录-调试输出
  5. android studio debug framework
  6. Android实训案例(二)——Android下的CMD命令之关机重启以及重启r
  7. Android进程管理机制及优化 for HTC HeRO(其它设备也可参考)+自动
  8. Android应用程序在手机上运行的步骤
  9. Android(安卓)adb shell 启动java程序

随机推荐

  1. golang 如何部署到服务器?
  2. golang解决中文乱码的方法
  3. go语言中的排序讲解
  4. golang怎么给slice赋长度
  5. Go语言异常处理的方法介绍
  6. golang怎么拼接字符串数组
  7. golang使用protobuf的方法详解
  8. golang怎么定时任务
  9. golang如何写http请求
  10. go语言结构体组合函数介绍