AMDのRyzenでAndroid StudioのEmulatorを実行させるためにいろいろ試したメモです。
環境
CPU:AMD Ryzen 7 4800U with Radeon Graphics 1.80 GHz
OS:Microsoft Windows 11 Home
メモリ:16.0GB
結論
コマンドラインからオプションを指定して起動させる。
前提
Emulatorの設定
System Image: x86_64
実行コマンド
このパスで
C:\Users\XXX\AppData\Local\Android\Sdk\emulator>
このコマンドを実行する。
.\emulator -avd (仮想デバイス名) -gpu swiftshader_indirect
仮想デバイス名は同じパスで以下のコマンドで一覧表示される。(公式ドキュメント)
.\emulator -list-avds
Sdk\tools
のパスにあるemulator.exeではなく、Sdk\emulator
のパスにあるemulator.exeじゃないと動かないので注意してください。
試したこと
1. 再インストール
Android Studioインストール時に何かのエラーが出ていたが放置していた。
エミュレーターの実行がうまくいかなかった段階になって修正しようとしたが、どんなエラーか忘れてしまっていたので再インストールした。
初回のインストール時のエラーは出なかったが、エミュレーターは起動しなかった。
2. vulkanファイルの導入
https://www.kunimiyasoft.com/android-studio-4-2-2-emulator/
こちら方の記述と同じく、amdvlk64.dll, vulkan-1.dllをネットから探してきてSystem32フォルダに入れた。
エラーメッセージを見てもこの二つのファイルを探しているようだったので、エミュレーターの実行を期待したが効果なし。
3. arm64イメージの使用
amd製CPUではx86_64イメージだと動かないと聞いたのでarm64イメージを使用したが効果なし。
armeabiイメージを使用すると動いたとの記事も見かけたので試すがこちらも効果はなかった。
4. BIOSの確認、Windowsのハイパーバイザの有効化
https://zenn.dev/deranemy/articles/8156e76f87e5fb
これを試したが効果なし。
5. 仮想デバイスの割り振りメモリの増量
仮想デバイスのメモリ容量が足りていない場合、エミュレーターが実行できないという記事を見つけたのでメモリの割り当てを増やしたが効果なし。
6. オプションをつけてコマンドを実行
いろいろ試してうまくいかなかったので、改めて表示されるエラーメッセージをよく読みました。
すると下のほうにちょっと見切れた感じで「swiftshader_indirect のオプションをつけてコマンドラインから起動してみてほしい」といった内容のメッセージがあり、これを試すとエミュレーターが実行できました。
GPU関係の設定らしいですがよくわかりませんわ。
終わり
調べるといろいろ方法が出てきて、それぞれ解決した人と解決しなかった人がいたので決まった解決方法はないのかなと思います。
間違いあれば指摘いただけると助かります。