如何避免未开启文件传输的USB连接安卓设备导致ADB崩溃?
当安卓设备未设置为“文件传输”模式时,ADB启动时会触发权限错误并崩溃,日志显示:
connection terminated: failed to open device: Access denied (insufficient permissions)
当前ADB版本信息:
Android Debug Bridge version 1.0.41 Version 35.0.2-12147458 Installed as /home/user/Android/Sdk/platform-tools/adb Running on Linux 6.11.0-108013-tuxedo (x86_64)
系统:TuxedoOS 24.04
解决ADB权限不足导致崩溃的方案
1. 配置udev设备权限规则
Linux下USB设备权限由udev管理,添加安卓设备专属规则可避免权限拒绝:
- 打开终端,创建udev规则文件:
sudo nano /etc/udev/rules.d/51-android.rules - 先通过
lsusb命令获取设备厂商ID(执行lsusb | grep Android,输出中ID后的前四位就是厂商ID,比如Google设备为18d1),在文件中添加规则:
需适配多厂商可添加多条规则,常见厂商ID:Google(18d1)、Samsung(04e8)、Xiaomi(2717)。SUBSYSTEM=="usb", ATTR{idVendor}=="你的厂商ID", MODE="0666", GROUP="plugdev" - 重新加载udev规则并触发设备事件:
sudo udevadm control --reload-rules && sudo udevadm trigger - 将当前用户加入
plugdev组以获取设备访问权限:
执行后注销再重新登录,使组权限生效。sudo usermod -aG plugdev $USER
2. 降级ADB版本
部分35.x版本ADB对非文件传输模式的设备兼容性较差,可尝试降级到34.x或33.x版本:
- 下载对应Linux版本的platform-tools归档包,解压后替换
/home/user/Android/Sdk/platform-tools/目录下的adb、fastboot等文件 - 执行
adb --version确认版本更换成功
3. 调整设备默认USB配置
在安卓设备开发者选项中,找到“默认USB配置”,设置为**文件传输(MTP)**以外但支持ADB授权的模式(如“图片传输(PTP)”),部分设备在该模式下仍能被ADB正常识别,避免切换模式时崩溃。
4. 检查ADB二进制文件权限
确保adb文件具备可执行权限:
chmod +x /home/user/Android/Sdk/platform-tools/adb
内容的提问来源于stack exchange,提问作者adi
相关产品推荐
相关产品推荐

