Apple Silicon(M1チップ)のMacでAVDが起動できないときの解決方法
Apple Silicon (Apple M1チップ)のMac mini(macOS Big Sur)において、Android Studioからエミュレーターが起動できませんでした。今回はFlutterプロジェクトでしたが、通常のAndroidプロジェクトでも同様です。
Your CPU does not support VT-x
問題
Flutterのプロジェクトからアプリを起動するために、Android StudioのAVD Managerからエミュレーターを起動しようとするとエラーが表示されます。
Your CPU does not support VT-x
何度か試していて、気付くと以下のエラーが出るようになっていました。
The emulator process for AVD <AVD Name> was killed.
調べると、M1 MacでAndroidエミュレータを起動できない問題は他でも出ているようでした。
Androidの公式ページでApple Silicon対応のエミュレータを配布していましたので、そちらを使うことで取り急ぎは解決できるそうです。
Android Emulator Apple Silicon Preview
https://androidstudio.googleblog.com/2020/12/android-emulator-apple-silicon-preview.html
同じ悩みの人も、こちらで対応しているコメントが多かったのですが、しかしながら、改めてこのダウンロードしたエミュレーターを起動して、Flutterのプロジェクトを起動したところ、通信部分でクラッシュしてしまいました。
Failed to update ssl context: com.google.android.gms.common.GooglePlayServicesNotAvailableException
今回はFlutterアプリ内のFirebase Cloud Firestoreを使用しており、データを取得する部分で発生しましたが、ネイティブのAndroidアプリでFirebaseでなくてもエラーが発生するのではないかと思います。
解決方法
結論としては、ABIがarm64のエミュレーターを作れば起動でき、通信も解決しました。
ちなみに、ABIをx86_64にした場合はダメでした。(x86と同様のエラー)
実機で確認もできるので、大きな問題にならない人もいると思いますが、気持ち悪さがあったので、エミュレーターで動かせるようになってとりあえずひと安心です。