網上很多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…