[Flutter]Appシリコン(M1チップ)でAndroidエミュレーターが動かない場合の対処法(emulator: ERROR: x86 emulation currently requires hardware acceleration!:動画なし)

最近発売されて、速くて評判らしいAppシリコン(M1チップ)搭載のMacパソコンですが、2020/12/6時点において、Androidのエミュレーターを動かそうとすると、こんなエラーが出て、エミュレーターが稼働しない事象が発生しています。

emulator: ERROR: x86 emulation currently requires hardware acceleration!
CPU acceleration status: Android Emulator requires an Intel processor with VT-x and NX support.
(VT-x is not supported) More info on configuring VM acceleration on macOS: https://developer.android.com/studio/run/emulator-acceleration#vm-mac
General information on acceleration: https://developer.android.com/studio/run/emulator-acceleration.

そして、このエラーに表示されているリンクの指示に従って、解決を試みようとしても、

  • このリンクにあるHypervisor.FrameworkHypervisor.Frameworkの使用に試みまたが、ダウンロードできず、
  • Intel HAXMカーネル拡張機能をインストールを試みましたが、ボタンがEnabledになっており押すことができない。

という状況になってしまって、うまくいかず、

SDK Managerでは、すでにIntelのハードウェアアクセレーターがインストールされている表示が出てきてしまって二進も三進も行かないようです。

 

調べてみたところ、現時点ではAppシリコンのMacではエミュレーターは動かせないようです。

 

ですので、解決策としてはAndroid Studio開発元のJteBrains社によれば、

1)対応が完了するまでは、Androidは実機で実行(JetBrainsによれば、年内には対応できるのではないかということです)

あるいは

2)「Rosetta-2」経由でAndroid Studioを動かすとイケるのではないかとのことです(これはぼくはMacはAppシリコンではないので再現できないのですが)。

Current Status: JetBrains is working on porting JetBrains Runtime (and all products running on JVM) to Apple Silicon. Our IDEs work on Apple Silicon chips through Rosetta 2.

 

Anything that will run under MacOS Catalina should run with Rosetta-2 Emulator. That was the case during the previous transition — even assembly-language code worked just fine.

 

【参考】「Rosetta 2」とは

Universalアプリの情報ウインドウには「Rosettaを使用して開く」というチェックボックスがあり、ここにチェックを入れてから(もちろんM1 Macで)起動すると、ARM64バイナリではなくx86_64バイナリが使用される。M1 Macでネイティブ動作するバイナリが含まれているのになぜ、と疑問に思うかもしれないが、おもに互換性確保を目的として用意されているものだ。

 

(Apple Siliconについての公式リファレンスがでてました。)

(2020/12/16追記)

Appシリコンで動かせるAndroidエミュレーターのプレビュー版がリリースされたようです(まだバグが色々あるようですが)

こんな記事も読まれています

おすすめコンテンツ




Flutter(フラッター)


みんプロ作成アプリ




TOP