记录连接远程ADB的过程
【内含大量图片,流量警告】
前言
ADB全称为Android Debug Bridge,译为安卓调试桥。是一个命令行工具,主要用于调试设备。详细大家对这个是耳熟能详了。关于ADB的安装、使用、命令等都不是本文的重点,大家有兴趣可先去网上搜索学习一番。
那么回归到本文的主题,远程ADB,有些小伙伴可能会有疑问,既然有数据线为什么要远程调试,又慢又不好用。
那当然是有这样的需求,例如我们的手机需要USB连接某一个外设硬件,无法插数据线连接电脑,又或者一些定制的板子/设备根本就没有USB接口。
比如我们的这种人脸门禁设备,根本就连不上电脑,那怎么调试?
所以远程ADB是必不可少的,也正是因为不具备连接数据线USB调试的条件,我们只能通过WIFI连接adb进行调试。
当然了最好我们的电脑和 Android 设备要处于同一局域网下,或连接同一Wifi即可。
虽然网上很多的Wifi连接ADB的教程,我都试过了但是总连不上,所以这里记录一下给大家作为参考。
一、如何启动远程ADB
这是最关键的一步,也是核心所在。这里分为Android11以上和以下两种情况说明。
1.1 Android 11 以上的设备
如果是Android11以上的设备,那当然是不需要说了,开发者模式是自带的,并且和 AS 是联动的,默认就是支持的。
在 AS 的运行一栏中,我们可以选择通过WIFI匹配设备:
点击匹配之后,默认就显示了 Android 11 扫码连接,简直是太方便了。
接下来我们只需要在 Android 11 以上的设备上打开开发者模式,找到无线调试的开关,打开它。
然后点击无线调试进入详情页面,使用二维码匹配设备,直接扫码即可
扫码页面如下:
当扫码完成之后,AS会更新状态,此设备已经连接。
当我们设备连接成功之后,我们就可以通过远程ADB来操作设备了,和USB连接的使用方式就是一样的了。
如果不想通过扫码来匹配,我们也可以通过命令匹配-连接的方式也能实现:
adb pair 192.168.3.7:5555
输入手机的IP和端口即可匹配,手机的IP和端口,在无线调试的详情中有显示的。
当匹配成功之后我们就可以通过命令来连接设备
adb connect 192.168.3.7:5555
不管是扫码匹配还是命令匹配,只需要匹配一次,下一次就可以直接连接即可。
总的来说 AS 对 Android 11 支持的蛮好的,很方便。
1.2 Android 11 以下的设备
对于低版本的设备如何连接远程ADB呢?
咋们一步一步来,先电脑ping一下远程设备,确保是否在同一个局域网:
我们使用命令尝试连接试试?
adb connect 192.168.3.7
是我想多了,结果如下:
很明显会报错,因为我们目前是没有开启远程ADB的,接下来就是如何开启远程ADB选项了。
网上一搜大部分的操作都是先连wifi然后插入USB线,然后命令开启远程ADB,一顿操作如下:
# 进入手机终端
adb shell
# 获取 root 权限,需要在手机上授权
su
# 挂载系统分区
mount -o rw,remount /system
# 添加永久的无线调试权限
echo "service.adb.tcp.port=5555" >> /system/build.prop
# 重启设备使配置生效
adb reboot
首先不是说这些命令不行,首先需要root权限,其次还需要先连接USB,请问我都没USB怎么连电脑。。。
所以我是理所当然的连不上了。接下来怎么办,找朋友要一些工具试试。
甲虫ADB调试工具 【传送门】 密码:gau6
我们打开甲虫工具,然后打开远程ADB开关,我们再次尝试连接。
额,现在报错的不一样了,可以连了,但是又没连上?
网上的推荐是先停止adb 再启动adb 重新再试
接下来再试试其他方式试试?
直接不是让我们打命令开始ADB吗
shall setprop service.ADB.TCP.port 5555
本质上shall setprop service.ADB.TCP.port 5555 就是设置prop配置文件嘛,直接改这个文件不就行了?
使用文件管理器按照以下路径打开文件:/system/build.prop,在该文件的最后添加以下内容:service.adb.tcp.port=5555
失败!这。。。好像要ROOT权限才行。
还有什么办法? 换一个工具试试?
网络ADB调试工具 【传送门】 密码:9jsr
这个工具也是非常简单,直接打开ADB开关即可。
这就连接上了,开心 😁 😁
补充
我们是使用的别人的设备,如果是自己编译源码修改的话,我们可以默认开启远程ADB,
由于 Android 源码默认没有开启无线ADB调试功能,因此我们需要手动修改源码。
首先直接指定端口,可以sys.prop文件中添加 service.adb.tcp.port = 5555
此文件一般位于device/产品目录下,单独写入如上属性便可实现开机启动远程ADB了。
二、异地连接远程ADB
好了,接下来App开发好了,交给客户了,然后崩溃了,这… 日志平台没有收到崩溃信息啊,找不出问题?要不把设备寄过来?什么,你在国外?运费3000?
什么?让我过去调试一下?什么?在缅甸?打扰了,当我没说。
玩笑话说到这,其实有没有一种可能,我们直接调试客户手上的设备呢?这行不行的通呢?
虽然说这个场景属实不多见,但是如果真要走到这一步还是有可能实现的。
我们之前的设备远程ADB都是需要基于在同一个局域网下面才能实现,我们搭建一个虚拟的局域网就可以实现异地的ADB。
其实网上有一些第三方的平台早已实现类似的功能,如腾讯优测,TestIn,阿里MQC等等。
都是通过ADB直接连接到云端的设备上。体验大差不差,主要是用于指定的机型测试适配工作。并不适合我们这样的场景。
虽然我们用不到这样的平台,也不符合我们的使用场景,因为我们是自有的设备,那么我们也可以通过类似的软件和工具自己搭建一些虚拟局域网。
我就不献丑了,大家可以自行搜索教程,例如:
像我们调试设备不多的话,可以使用上面的方案搭建虚拟服务器,日常的调试维护基本够了,虚拟局域网组建之后,使用wifi连接adb的方法连接即可。(前文有介绍)
当然创建虚拟局域网的方式有很多,只要创建成功了都是可以做到同样的效果的,关于其他的方式例如 N2N 之类的也能实现,有兴趣了可以自行搜索进行扩展哦。
后记
对于一些特定的设备,这个远程ADB还是很有用的,反正现在我已经很少用数据线连接测试设备了,线太多了太乱了 😂 😂
最后补充一点,如果用一段时间或者开机关机之后,断开了ADB,或者经常怎么都连不上,可以尝试关闭wifi,再开启wifi,就可以connect成功了。
同时我们还能关闭USB调试,再打开USB调试。(不是无线ADB调试,就是普通的ADB调试)就可以自动连接上了。
最后帖一下常用的用与远程ADB的命令
ping 192.168.3.7
adb connect 192.168.3.7
adb devices
adb disconnect 192.168.3.7
adb tcpip 5555
adb tcpip
adb uninstall com.zhitong.menjin
adb uninstall com.example.asus.jinyi
adb kill-server
adb start-server
好了,如果类似的效果有更多的更好的其他方式,也希望大家能评论区交流一下。
惯例,我如有讲解不到位或错漏的地方,希望同学们可以指出。
如果感觉本文对你有一点点的帮助,还望你能点赞
支持一下,你的支持是我最大的动力。
最后感谢一下人美心善的欢欢小姐姐对我的技术指导。 😄😄
Ok,这一期就此完结。
今天的文章Android如何远程ADB连接以及相关适配分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21271.html