flutterが最近熱いらしいので、Androidエミュレータ上でサンプルプロジェクトで遊んでみようと思ったところ、
Error connecting to the service protocol: failed to connect to http://127.0.0.1:1029/89AGRYqn_pA=/
こんなエラーが出て長時間詰まってしまいました。Stack Overflowでも多くの人が同じ問題に陥ってるっぽいです。備忘録のために、試したけど効果がなかった方法と、エラーを回避できた解決法を書いていきます。
ちなみに自分の環境はこんな感じです↓
IDE: Visual Studio Code
OS: mac OS Catalina
Android Emulator: Pixel 2 API 29
#試したけどダメだった方法
環境変数にexport NO_PROXY=localhost,127.0.0.1を追加
これで直ったという記事がありましたが、自分の場合は試しても直りませんでした。
IDE再起動、エミュレータ再起動、flutter cleanを実行
再起動、環境をclean系は全く効果がありませんでした。
#解決方法
###AndroidのAPIレベル29を避ける
APIレベル29のエミュレータを使わないで、APIレベル28のを使ったらうまくいったという記事を見つけたので、自分はAPIレベル30のエミュレータ(Pixel4 API30)を使ってみたところ、エラーが出ずにちゃんと実行されました。根本的な原因はわかりませんが、どうやらflutterとAPIレベル29の相性が悪いっぽい?です。同じ問題で困っている人は、APIレベルを見直してみてください。