Android设备adb调试无权限且未弹出授权弹窗 如何强制唤起?
解决ADB设备显示no permissions、未弹出授权弹窗的方案
1. 基础触发操作
- 拔出设备USB线,进入开发者选项关闭「USB调试」后重新开启,再插入USB线连接电脑,等待弹窗触发
- 若仍无弹窗,在开发者选项中执行「撤销USB调试授权」操作,再重复上述开关调试、重插线的步骤
- 重启电脑端ADB服务,按操作系统对应执行命令:
Linux/macOS 执行:
Windows 用管理员权限打开cmd/PowerShell执行:adb kill-server sudo adb start-server
服务重启完成后执行adb kill-server adb start-serveradb devices查看设备状态
2. 场景适配方案
2.1 USB连接模式调整
- 部分设备默认USB连接为仅充电模式,会拦截ADB授权请求,连接后下拉设备通知栏,将USB连接模式切换为「文件传输(MTP)」或「照片传输(PTP)」,即可重新触发授权检测
2.2 Linux环境udev权限规则配置
- Linux系统默认没有配置Android设备的访问权限,会直接返回no permissions错误:
- 执行
lsusb命令查找Android设备的标识,格式为xxxx:xxxx的厂商ID+设备ID - 编辑udev规则文件:
sudo nano /etc/udev/rules.d/51-android.rules - 新增如下规则,将对应位置替换为你查到的设备ID信息:
SUBSYSTEM=="usb", ATTR{idVendor}=="<你的厂商ID>", ATTR{idProduct}=="<你的设备ID>", MODE="0666", GROUP="plugdev"- 给规则文件分配权限:
sudo chmod a+r /etc/udev/rules.d/51-android.rules - 重启udev服务生效:
sudo udevadm control --reload-rules && sudo udevadm trigger - 重启ADB服务后重新连接设备即可
- 执行
2.3 Windows环境驱动检查
- Windows系统需要提前安装对应设备厂商的官方ADB接口驱动,第三方驱动或系统自带通用驱动异常会导致ADB无法和设备通信,无法触发授权弹窗,安装完成后重启ADB服务重新连接即可
3. 极端情况排查
- 以上操作均无效的话,先重启Android设备,重新开启USB调试后再连接
- 确认使用的USB线是支持数据传输的线缆,仅充电线无法承载ADB通信,不会触发授权弹窗
内容的提问来源于stack exchange,提问作者Gibbz
相关产品推荐
相关产品推荐

