Android Studio出现“No target device found”错误的原因是什么?
解决Android Studio 3.0.1 "No target device found" 问题的思路
我来分享几个针对你这个问题的实用排查思路,毕竟在AS 3.x版本里确实遇到过类似的设备识别小bug:
刷新AS设备连接缓存
有时候Android Studio的设备列表缓存会和adb的识别状态不同步,你可以试试:- 点击AS右上角的设备选择下拉框,点击
Refresh按钮手动刷新设备列表 - 如果刷新无效,先关闭Android Studio,执行命令
adb kill-server杀掉adb进程,再重新启动AS和adb(adb start-server),之后重新连接设备
- 点击AS右上角的设备选择下拉框,点击
检查Run配置的目标设备设置
你提到之前找Edit Configurations没找到对应选项,可能是没定位到正确的配置项:- 点击顶部菜单栏的
Run→Edit Configurations - 在左侧列表选中你的App运行配置,切换到
General标签页 - 找到
Deployment Target Options区域:- 确保选择的是
USB Device或者Open Select Deployment Target Dialog(不要选固定的某个已失效的设备) - 如果之前勾选了
Use same device for future launches,可以暂时取消勾选,让AS每次运行时自动识别可用设备
- 确保选择的是
- 点击顶部菜单栏的
适配AS与adb的版本兼容性
AS 3.0.1属于比较旧的版本,和过新的adb可能存在兼容性问题:- 打开SDK Manager,进入
SDK Tools标签页,找到Android SDK Platform-Tools,检查是否是适配AS 3.0.1的稳定版本(建议更新到对应大版本的最新稳定版,不要盲目升级到最新版) - 确认你的设备系统版本,和项目
build.gradle里的compileSdkVersion、targetSdkVersion是否匹配,避免因版本不兼容导致AS无法识别设备
- 打开SDK Manager,进入
检查设备USB连接模式
即使开启了ADB调试,USB连接模式也可能影响AS的识别:
把设备的USB连接模式从“仅充电”改成“文件传输(MTP)”或者“图片传输(PTP)”,然后重新插拔USB线,再尝试Run关于先Debug再Run正常的原因
这其实是因为Debug模式会强制AS重新初始化设备连接通道,刷新了内部的设备状态缓存。当你启动Debug后,AS已经正确建立了和设备的连接,后续Run就直接复用了这个有效连接状态。解决上面的问题后,应该就不需要再依赖这个临时操作了
内容的提问来源于stack exchange,提问作者DontPanic




