どんな内容か?
Xamarinを利用していて、Androidの最近のVersionでテストする必要がありました。デバイスマネージャで新しいデバイスを追加したのですが、起動できずに困った話です。一応の解決方法が分かったのでメモしておくことにしました。同じ悩みを抱えた方の助けとなれば幸いです。全ての起動できない現象に一致する訳ではありません。
環境
OS:Windows10
開発環境:Visual Studio 2019 Community Version 16.7.3
現象
デバイスマネージャで、Andoird9.0(API28)のOSまでは起動するのですが、それ以上のAndroid10.0(API29)やAndroid11.0(API30)が起動できません。詳しく書くと、エミュレータのスマホ枠は表示されるのですが、1秒くらいですぐに消えてダウンしてしまう状況です。
試行錯誤の様子
※結論だけ知りたい方は飛ばしてください
設定(プロパティ)で音声を無効化したり、GPSを無効化したり、全部のプロパティをOFFにしてもダメ。
メモリを増やしたりいろいろ行っても全く効果ありませんでした。効果なし!
困ったときはログを確認・・・
したいのですが、Androidデバイスマネージャーから直接起動するとログがどこに出ているのかよくわかりません。
そこで、Android デバイスマネージャーから直接ではなくて、Xamarin(Visual Studio)側からエミュレータをキックしてもらうと少しログが見えました。(既に解決しているので、キャプチャーはないのですが・・・)
emulator: ERROR: VkCommonOperations.cpp:525: Failed to create Vulkan instance.
VCPU shutdown request
VCPU shutdown request
VCPU shutdown request
//(繰り返し)
エラーのキーワードとなりそうなのは上記のメッセージでした。
キーワードから、少しググって、こちらのstack overflowの記事にぶつかりました。
HAXM(Hardware Accelerated eXecution Manager)にたどり着きます。
自分の記憶では、自らインストールした記憶はありませんが昔のことなので分かりません。
HAXMの最新版を適用することで解決しました。
HAXMのインストール時に、ポップアップのメッセージで、「既にインストールされている6.0.2から7.6.1に上げて良いか?」と問合せがあったので、そこそこ古かったようです。
解決策
HAXMの最新のリリースをインストールし解決しました。
私の場合は、7.6.1を適用して解決しました。
ということで、エミュレータで起動しないOSがある場合は、HAXMの最新版を適用すると幸せになれるかもしれないということで。
現場からは以上です。