Flutter执行flutter run连接安卓实体设备提示lost connection to device求助
可行解决方案
按照优先级依次尝试以下操作即可解决该问题:
1. 修复ADB连接异常(概率最高)
- 先终止本地残留的ADB进程,执行命令:
sudo killall adb sudo adb start-server
- 重新插拔手机,执行
adb devices确认设备已正常识别,再运行flutter run
如果执行adb devices时出现no permissions提示,需要配置Linux udev设备权限规则:
- 执行
lsusb找到你的安卓设备对应的ID,格式为xxxx:xxxx,冒号前为厂商ID,后为产品ID - 执行
sudo nano /etc/udev/rules.d/51-android.rules,添加如下内容(替换为你自己的设备ID):
SUBSYSTEM=="usb", ATTR{idVendor}=="你的厂商ID", ATTR{idProduct}=="你的产品ID", MODE="0666", GROUP="plugdev"
- 保存退出后执行命令重载规则:
sudo udevadm control --reload-rules sudo systemctl restart udev
重新插拔设备后即可正常识别。
2. 重置手机调试配置
- 进入手机开发者选项,确认开启USB调试、USB安装、*USB调试(安全设置)*三个选项
- 关闭「USB调试授权超时」功能,重新插拔设备时在调试授权弹窗勾选「始终允许这台计算机」后确认
3. 清理项目缓存
执行以下命令清理Flutter构建缓存后重新运行:
flutter clean flutter pub get
4. 排查硬件与系统省电设置
- 更换原厂USB数据线,不要使用仅充电的数据线,优先连接USB3.0及以上端口
- 关闭Linux USB自动省电功能,临时生效可执行:
sudo bash -c "echo 'on' > /sys/bus/usb/devices/你的设备对应端口/power/control"
永久生效可修改GRUB配置,在GRUB_CMDLINE_LINUX_DEFAULT参数中添加usbcore.autosuspend=-1,更新GRUB后重启系统即可。
内容的提问来源于stack exchange,提问作者Yusuf
相关产品推荐
相关产品推荐

