Flutter开发 - 今日问题

报错

VSCode调试,在模拟器上运行项目,报错:Failed to launch iOS Simulator: Error: Emulator didn't connect within 60 seconds
打开android模拟器也一样的错误,连接不上模拟器,导致无法调试!

前提

已经打开了iOS模拟器;iPhone11或者iPhone12,也打开了安卓的模拟器。

其它尝试

关闭并退出模拟器,关闭VSCode重启,再次运行,还是报错。

寻找问题

网上搜索相关问题,依次尝试了一下,碰壁了多次,后面找到了问题所在。

解决

首先打开终端,运行flutter doctor,检查flutter相关配置是否齐全,打印如下图

打印信息

Android license status unknown.暂时先不管,与本次问题无关。

Error 1 retrieving device properties for ro.product.cpu.abi: error: protocol fault (couldn't read status): Undefined error: 0这个错误翻译了一下,结合后面的解决方案,应该是说有一个设备回收错误,导致某个协议错误,不能读取设备状态(自己理解的,如果有误,请指正!)

关键
! Device emulator-5554 is offline.关键错误是这里,查了一下,原因是:有程序占用5555端口,导致adb认为5554不能作为第1个设备启用。知道了问题所在,就可以解决了。

解决步骤
1、打开终端运行:lsof -i:5555,查看5555端口的占用情况(我用的是mac电脑,windows电脑查看端口占用请使用命令:netstat -ano |findstr "5555"
2、若有进程占用5555端口,就会打印相关进程的信息,主要看PID。快捷键:command+空格键,搜索“活动监视器”,打开活动监视器,可以看到所有正在运行的进程,根据被占用的PID找到相关进程,退出该进程。(windows关闭进程,由于目前没有电脑,无法验证,麻烦自己查询哦)
3、再次运行lsof -i:5555,查看还有没有被占用,若没有打印信息,就表示关闭成功了。再运行flutter doctor,就没有报错了。用VSCode运行调试也没问题了。

最后

无法在模拟器上运行项目,有可能是其他的问题,我这边遇到的无法连接到模拟器的报错,可以使用上面的方法解决。若有朋友使用上面的方法无法解决,请见谅!

参考文档

adb deviecs时显示的emulator-5554 offline如何解决
windows如何查看端口占用情况?

你可能感兴趣的:(Flutter开发 - 今日问题)