0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AMD CPU Ryzen で コマンドラインからAndroid Emulator を実行させる

Posted at

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関係の設定らしいですがよくわかりませんわ。

終わり

調べるといろいろ方法が出てきて、それぞれ解決した人と解決しなかった人がいたので決まった解決方法はないのかなと思います。
間違いあれば指摘いただけると助かります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?