ADB与Chrome DevTools无法同时识别安卓设备,求解决方案
解决ADB与Chrome DevTools设备识别冲突的方案
我之前也碰到过一模一样的ADB和Chrome远程调试冲突的问题,给你几个亲测有效的解决思路:
1. 统一ADB版本(核心解决思路)
Chrome其实自带了一个独立的ADB程序,和你Android Studio安装的ADB如果版本不一致,就会抢设备连接权限,导致互相识别不到。
- 先分别查看两个ADB的版本:
- Android Studio的ADB版本:
adb version - Chrome自带的ADB版本(通用路径,随Chrome版本可能略有变化):
/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/Current/Resources/adb version
- Android Studio的ADB版本:
- 如果版本不同,把两者统一成同一个版本:
- 先备份Chrome自带的ADB:
cp /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/Current/Resources/adb /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/Current/Resources/adb.backup - 把Android Studio的ADB复制到Chrome的ADB路径:
cp /Users/xxx/Library/Android/sdk/platform-tools/adb /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/Current/Resources/adb
- 先备份Chrome自带的ADB:
- 最后重启ADB和Chrome:
打开Chrome的adb kill-server && adb start-serverchrome://inspect页面,应该就能同时识别设备了。
2. 强制Chrome使用Android Studio的ADB
如果不想替换文件,可以给Chrome添加启动参数,强制它使用你指定的ADB:
- 临时启动:打开终端执行以下命令,Chrome会用指定的ADB启动:
open -a "Google Chrome" --args --adb-path=/Users/xxx/Library/Android/sdk/platform-tools/adb - 永久设置(Mac):
- 打开「Automator」,选择创建「应用」
- 在左侧搜索「运行Shell脚本」,拖到右侧工作流里
- 输入脚本:
open -a "Google Chrome" --args --adb-path=/Users/xxx/Library/Android/sdk/platform-tools/adb - 保存为「Chrome Debug」,以后用这个应用打开Chrome,就会自动使用指定的ADB了。
3. 重置设备USB调试授权
有时候ADB占用了设备的授权会话,导致Chrome无法获取权限:
- 先杀掉ADB服务:
adb kill-server - 在安卓设备上,进入「设置」→「开发者选项」→「撤销USB调试授权」(如果找不到开发者选项,先去「关于手机」连续点击版本号开启)
- 重新插拔设备,启动ADB:
adb start-server,此时设备会弹出授权提示,勾选「始终允许此计算机」并确认 - 再打开Chrome的
chrome://inspect检查设备识别情况
4. 终极重启大法
如果上面的方法都没用,试试最朴素但有效的操作:
- 拔掉安卓设备,重启Mac和安卓设备
- 重新连接设备,启动ADB服务,再打开Chrome调试页面
内容的提问来源于stack exchange,提问作者CTavar
相关产品推荐
相关产品推荐

