网上很多React Native 和Flutter对比的文章,其中大家都认为Flutter的配置环境要比RN更直观易用。但是实际体验下来碰到不少问题。下面贴一下碰到的问题,希望对其他人有些帮助
Troubles
configure: error: Package requirements (libusbmuxd >= 1.1.0) were not met:
作为一个同时开发Android和iOS的人,我本地AndroidStudio和Xcode都安装了最新版。解压完zip包并且配置完环境变量之后运行flutter docker
会提示安装brew install --HEAD libimobiledevice
,直接运行这句命令会抛出以下异常:
configure: error: Package requirements (libusbmuxd >= 1.1.0) were not met:
Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
READ THIS: https://docs.brew.sh/Troubleshooting
这时候需要运行brew unlink usbmuxd
& brew install --HEAD usbmuxd
而不是libusbmuxd
。
另外建议不用先按照flutter docker
返回的提示安装,可以接着往下看,后面的文档写明了如何安装所有组件。
Debug 白屏
这个问题在RN上也经常见,测试几次之后发现在iOS模拟器上会更稳定一些。另外最好只启动连接一个模拟器调试。
Exception: idevice_id returned an error:
运行App时报以下错误:Exception: idevice_id returned an error:
这个问题一开始重启AndroidStudio就好了,后来发现重启都不管用了。上网搜了一下发现是idevice_id
的问题,这时候你连接上一个手机之后就会发现此时可以正常调试了,不管模拟器还是测试机都可以正常调试。
无法正常热加载
无法正常热加载,AndroidStudio ⚡️按钮不可点击。这个问题困扰了我很久。最终发现问题竟然和zsh配置的代理有关。太诡异了。如果你在终端下配置了代理,删除该代理配置应该就可以正常进行热加载了。
运行Android模拟器一直显示Initializing gradle…
这个和gradlew有关,详细的解决方案参见:https://github.com/flutter/fl…