模拟器无法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了,之前就是因为这个问题所以网站的环境包全部换成了狐狸面具。

相关推荐
VirusVIP9 小时前
Windows CMD通过adb检查触摸屏Linux驱动是否被编译
linux·运维·adb
didiplus1 天前
MySQL 8.0 OCP(1Z0-908)英文题库(31-40)
mysql·adb·ocp·数据库管理员·mysql认证
萧然CS1 天前
使用ADB命令操作Android的apk/aab包
android·adb
越甲八千1 天前
windowsC++操作ADB
c++·windows·adb
自然 醒2 天前
荣耀手机,系统MagicOS 9.0 USB配置没有音频来源后无法被adb检测到,无法真机调试的解决办法
adb·uni-app
xx155802862xx2 天前
在CentOS 7上仅安装部署MySQL 8.0客户端
mysql·adb·centos
CYRUS STUDIO3 天前
adb 实用命令汇总
android·adb·命令模式·工具
冰箱上的笑话3 天前
MySQL 数据库故障排查指南
数据库·mysql·adb
吻等离子4 天前
解决 MySQL 数据库无法远程连接的问题
数据库·mysql·adb
血手人屠喵帕斯4 天前
事务连接池
android·adb