Macbook 2020(M1チップ)にてエミュレータが起動しないエラーの解決方法を説明します。
一体何が原因で起きたのか、今後の備忘録として本記事を投稿します。
Android Studio, Visual Studio(flutter用)で動作確認済みです。
この記事は以下のような方を対象者としています。
- Macbook2020にてエミュレータが起動しないエラーが起きた方
- Your CPU does not support VT-xというエラーが表示される方
- Unfortunately,your computer does not support hardware accelerated virtualizationというエラーが表示される方
m1チップでエミュレータが起動しない:症状説明#
添付画像の通り、Android Studioでエミュレータを起動しようとしたところこのようなエラーに遭遇しました。
Error : Unfortunately,your computer does not support hardware accelerated virtualization
原因はAppleのM1チップが従来の仮想端末技術に対応していないためです。
そのため、IDEの再インストールやMacの再起動等で解決することはできません。
解決するためにはM1チップ用の仮想端末ソフトをインストールする必要があります。
m1チップでエミュレータが起動しない:Android Studioでの問題解消手順#
それでは順番に本現象の解決方法を解説していきます。
まずはAndroid Studioでエミュレータを使えるようにします。
その後にflutter用Visual Studioにてエミュレータを起動できるよう説明します。
まずはこちらのGithubから.dmgファイルをダウンロードしMacにインストールして下さい。
ダウンロードしたらアプリケーションフォルダにアプリを移動します。
このアプリはApp Storeを経由せずにダウンロードしたため、ダブルクリックで起動することはできません。
起動するためにはセキュリティ&プライバシーにてAndroid Emulatorのアプリを開くことを許可する必要があります。
そのためまずはシステム環境設定→セキュリティ&プライバシーに進みます。
そして、先ほどダウンロードしたAndroid Emulatorを開くことを添付画像の通り許可して下さい。
そうすると、下記画像のようにAndroid Emulatorが起動できるようになります。
Android Studioでも正常にビルド&ランできるか確認しましょう。
Android Studioを起動しAVD(仮想端末マネージャ)を確認すると、Virtual Deviceという項目が追加されています。
その状態でなんでも良いのでアプリを実行してみましょう。
すると、通常通りエミュレータが動作していることが確認できます。
これでAndroid Studioでのエミュレータ問題は解消されました。
m1チップでエミュレータが起動しない:Visual Studio (Flutter用) での問題解消手順#
続いてflutterアプリ開発でも使えるようにVisual Studioにてエミュレータを起動できるようにします。
※Android Emulatorが上記手順にて起動できるようになっていることが前提です。
まずは下記コマンドでmacにjdkがインストールされているかどうか確認して下さい。
ls -la /Library/Java/JavaVirtualMachines/
こちらのコマンドを実行して何も出力されなかった場合、jdk(Java Development Kit)が未インストールということになります。
そのため、まずはこちらの公式サイトからMac OS Installerを選択しjdkファイルをダウンロードして下さい。
※macOS Compressed Archiveのインストールは不要です。
ダウンロード後、再度下記コマンドを実施しご自身のMacにjdkがインストールされていることを確認して下さい。
ls -la /Library/Java/JavaVirtualMachines/
出力結果:jdk-15.0.2.jdk
続いて、.zshrc(zshの設定ファイル)にjdkのファイルパスを記述しVisual Studioがjdkを読み込めるようにします。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/ダウンロードしたjdkファイル/Contents/Home
例:export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
これで後はVisual Studioを再起動し実行すると下記画像のようにエミュレータが実行できることが確認できます。