admin管理员组文章数量:1569336
最近爪机的USB端口出了问题,很不稳定。快抓狂之际,发现Android竟然可以Wifi调试。其实最原始的方法也就3行代码,不过在爪机上输入始终不是太方便,因此自己写了个小程序。以下是方法介绍。
原始方法:
前提:爪机有root权限。没有的话自行google。
1、确保爪机与电脑都连上了Wifi,并处于同一网段中。
2、下载一个终端模拟器,并打开。3~6步中的输入都是在终端模拟器中进行的。
3、输入
su
获取root权限。
4、输入
setprop service.adb.tcp.port 5555
设置 adbd 服务的指定端口号为5555,5555 虽是默认的,这里也要设一下,也可以是自定义的,但是什么必要。
5、输入
stop adbd
停止adbd服务,不停止的话设置不起作用。
6、输入
start adbd
启动adbd服务。
此时可以输入netstat 查看网络状态,可以看到有
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
表明已经开启成功。
7、回到电脑中操作,Windows调出cmd,Linux则调出Terminal。
8、进入adb所在目录(如果已经设置了系统变量,则跳过此步)。
9、在命令行中输入
adb connect <xxx.xxx.xxx.xxx>
连接手机,<xxx.xxx.xxx.xxx>是手机的IP地址。
如果此时显示unable to connect to <xxx.xxx.xxx.xxx>,则需要在USB调试中,输入
adb tcpip 5555
重启 Android 设备中的 adbd 后台程序重新侦听 TCP 的指定端口。
到此已经可以用Wifi连接爪机调试了。但是每次手机重启都要输入那几行代码,这就显得太麻烦,这不是一个程序员应该做的事情。因此自己写了一个APP来替代。核心代码如下:
Process suProcess = Runtime.getRuntime().exec("su");
os = new DataOutputStream(suProcess.getOutputStream());
os.writeBytes("setprop service.adb.tcp.port 5555\n");
os.writeBytes("stop adbd\n");
os.writeBytes("start adbd\n");
os.flush();
注:1、执行su后获取root权限的只是当前进程suProcess,因此后面的输入是需要在suProcess里面进行的。
2、后续输入中的"\n"是必不可少的,由于DataOutputStream这个接口并不能直接操作底层shell,所以需要"\n"来标志一条命令的结束。
版权声明:本文标题:Android开启Wifi调试 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727652726a1123612.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论