コマンドライン上からAndroidの仮想端末を起動使用としたときにタイトルのように、PANIC: Missing emulator engine program for 'x86' CPU.
とエラーが表示されて仮想端末を起動できない場合がある。その対処法についてメモ。
例:
> emulator -list-avds Pixel_API_27 > emulator @Pixel_API_27 PANIC: Missing emulator engine program for 'x86' CPU. # 起動できない!
結論
$ANDROID_HOME\emulator
へのパスを$ANDROID_HOME\tools
よりも先に読み込むようにする。
*$ANDROID_HOME
はWindowsの場合C:\Users\[username]\AppData\Local\Android\Sdk\
あたりを指す。
解決法
emulator(.exe)
コマンドのパスが通っている場所を確認。
Linux/MacOSの場合、which
コマンドを使用すれば即座にコマンドのパスがわかるが、Windowsのコマンドプロンプトの場合に同様のコマンドが存在しない。。。なぜなんだorz
where
コマンドを使用してファイルがどのフォルダに存在しているかを確認することができるのでそれでいったん確認してみる。
> where emulator C:\\省略\Android\Sdk\emulator\emulator.exe C:\\省略\Android\Sdk\tools\emulator.exe
以下の2箇所にemulator.exe
が存在しているはずである。このうちtool
フォルダのほうのemulator.exe
で実行するとタイトルのエラーが発生する。
tool
フォルダのemulator.exe
が実行される原因は、環境変数のPATHの読み込みがtool
フォルダのほうが先に行われているためである。
[Win]キー押下
> 「環境変数」と入力して環境変数の編集を実行
> Pathをダブルクリック
> toolsとemulatorの順番を入れ替える
で完了!
ここの値は特にAndroid Studioをインストールしたときにしか変更していないはずなのでデフォルトでこうなるのかもしれない。。