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

相关推荐
安当加密8 小时前
MySQL 数据库如何加密脱敏?TDE透明加密 + DBG数据库网关 双引擎加固实战
数据库·mysql·adb
越甲八千15 小时前
简单fastapi和压测实例
adb·fastapi
fanqi9871 天前
Android模拟器ADB异常断开一个容易忽视原因的记录
android·adb·android studio
遇见火星1 天前
MySQL 8.0复制架构主从自动切换脚本
mysql·adb·架构·mysql8.0·mysql主从
TeleostNaCl2 天前
Kodi | 如何使用 ADB 无 root 备份 Android 版本 Kodi 的数据并导入到另一台设备中
android·经验分享·adb·电视盒子·智能电视·tv·智能tv
码农水水2 天前
阿里Java面试被问:慢查询的优化方案
java·adb·面试
遇见火星2 天前
MySQL 5.7/8.0 物理备份实战:XtraBackup 全量+增量+验证+恢复
数据库·mysql·adb·xtrabackup·mysql8.0
海盗12343 天前
MySQL主从复制的配置方式
android·mysql·adb
cypking4 天前
三、NestJS 开发实战文档-->集成 MySQL(TypeORM)
前端·数据库·mysql·adb·node.js
小韩博5 天前
小迪之盲注第44课
android·网络安全·adb