模拟器无法ADB链接的所有情况及解决方案

前言:

adb(Android Debug Bridge)安卓调试桥,简单可以理解为外部连接安卓内部的一个接口,走的是tcp协议。

但是在模拟器上面经常会遇到连不上adb,在此收集一下各种情况,想起来或者遇到了就更新上来,希望帮到大家。

以下是原因及解决方案:
1.ADB未开启

像雷电的话,海外版和某些特殊版本可能默认关闭adb的,需要在设置>其他设置里面将ADB改成开启本地连接。顺带说一下如果是连接按键精灵等需要root的脚本工具时,应同步开启root权限。

另外,雷电模拟器在电脑第一次开机的第一个模拟器可能会连不上,重启一次即可。

2.ADB进程干扰,或者版本过低

出现这种情况一般就是电脑上开启了多个不同的adb版本,比如一个按键精灵手机助手,使用的是32版本的adb,又开启了脚本辅助调用了模拟器自带的34版本,或者开启了投屏工具等,导致adb冲突。

解决办法:关闭投屏、连接手机软件等软件的开机自启,然后重启电脑,并且只开自己想要的软件,也可以把所有使用adb的软件调用的adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll替换成同一个版本的adb。

谷歌官方adb最新版下载直链:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

3.代理软件影响

无论是安卓内部还是电脑端开启了ip代理工具之后,都会影响adb的使用,部分可以设置绕过本地代理的软件,在开启之后是可以重新连接的,但是有的代理软件只要一开启,adb就无法连接,哪怕后续关闭了代理,也一样无法连接需要重启电脑,然后如果是一些电脑端的代理,开启后可能要正常退出并重启电脑才可以连接adb。

解决办法:目前没有可以全部解决的办法,只能通过软件自带的设置去调整看能不能使用,如果不行的话就只能更换软件或者不用adb

4.部分版本的adb本身就有问题

雷电5.0.67、5.0.68、9.0.57、9.0.58等版本,adb均有问题,如果连不上可以尝试卸载重装其他的版本,部分版本可以通过替换adb恢复,部分版本不行,只能换。

5.备份恢复过模拟器,或者修改过模拟器的索引

今天自己遇到了,尝试了一下解决办法也很简单,就是启动模拟器之后,把adb改成关闭,重启一下模拟器,再把adb改成开启本地连接,adb就恢复了。因为adb端口跟模拟器索引是关联的,所以备份恢复过,或者修改了索引导致索引变化,adb就需要这样重新开启一下。

6.安装了Magisk和Shamiko模块

Shamiko模块会导致ro.adb.secure变成1,也就是开启adb密钥校验,此时adb devices会提示unauthorized,也就是没有权限,部分低版本可能提示offline之类的,部分模拟器上可以手动修改回来,大部分都是无效的,所以最好就是换成狐狸面具,使用Magisk Hide来隐藏root,就不需要Shamiko了,之前就是因为这个问题所以网站的环境包全部换成了狐狸面具。

相关推荐
clorinda5 小时前
MySQL 入门笔记:DQL 基础查询与常用函数
adb
Code额7 小时前
基于 SQLAlchemy 2.x,面向 MySQL 数据库的从入门到精通实战教程(2)
数据库·sql·mysql·adb·ai
游戏开发爱好者81 天前
WebSocket 抓包怎么查看内容?从握手到消息帧完整解读
网络协议·计算机网络·网络安全·ios·adb·https·udp
00后程序员张2 天前
SSL Pinning 抓包抓不到明文?绕过证书固定的几种方案
网络协议·计算机网络·网络安全·ios·adb·https·udp
没文化的阿浩3 天前
【MySQL】数据类型
android·mysql·adb
黄毛火烧雪下3 天前
智能眼镜无线adb调试
adb
游戏开发爱好者84 天前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
Lethehong6 天前
MySQL迁移如何做到零改造?四层兼容方案详解
数据库·mysql·adb
陈卿诺语8 天前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
sql·mysql·adb
2501_915921439 天前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl