ASUS TUF Gaming FX505 でWin版Android Studioを動かす際の注意事項

初投稿です。

この文書は[@k-ysd](https://qiita.com/k-ysd)さんの[Kotlinで始めるAndroidアプリ入門（前編）](https://qiita.com/k-ysd/items/4efdecdfd60afe333a3a)をトレースして、Android Studioを導入しようとしたときに私の環境(ASUS FX505DV)で起こったことのメモです。
ニッチな内容ですが、情報が少ないので誰かの力になれば幸いです。

#まとめ
下記の点が従来多くの紹介ページとは異なっていたため、導入手順が増えました。
現在は安定して動いているので、アプリ開発の学習に入れそうです。
・Intel CPUではなくAMD CPU (Ryzen 7)であった点
・ASUS TUF Gaming FX505 特有のUEFI (BIOS)設定があった点 
・Radeon Vega Mobile GfxとGeforce RTXが搭載されている点

#環境
入れようとしたAndroid Studioのバージョンは3.5.1です。
PC情報は下記のとおりです。

| 対象 | 仕様 |
|:----:|:--:|
| メーカ | ASUS |
| 型番 | FX505DV |
| BIOS バージョン | 302 |
| CPU | AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx  |
| GPU | NVIDIA GeForce RTX 2060; AMD Radeon RX Vega 10 Graphics  |
| メモリ | 32GB |
| OS | Windows 10 Home |

#Android Studioをインストールする前の準備
##0. BIOSの更新
BIOSのバージョンが300の場合、更新しましょう。
心配なら最新版に更新しましょう。
更新方法についてここでは省略します。

##1. Windows Hypervisor Platformの有効化
[こちら](https://qiita.com/loveloveoita/items/279b03a3d4a6a0077a58#2windows-%E6%A9%9F%E8%83%BD%E3%81%A7%E6%9C%89%E5%8A%B9%E5%8C%96)の手順2の通り、「Windowsの機能の有効化または無効化」からWindows Hypervisor Platform (Windowsハイパーバイザープラットフォーム)にチェックを入れ、インストールした後に再起動します。
![whp.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/7e33f79f-e7cd-022a-2f70-65214ebcbc51.png)

##2. BIOSの設定
BIOS設定画面に入るにはFX505ならF2キーです。
無事は入れたら、F7キーを押してAdvance modeに切り替えると、webで検索するとよく見る画面になります。
さらに、Advancedタブに移り下の2項目を設定します。
・AMD SVMをENABLE
・MEMORYをAUTO
また、Bootタブに移り
・Fast BootをDisable
とします。
私の環境では"MEMORY=AUTO, Fast Boot=Disable"としなければOSがブートしませんでした。

#Android Studioのインストールと外回りの設定
[こちら](https://developer.android.com/studio/?hl=ja)からインストーラをダウンロード。
インストーラを管理者として実行し、インストールします。
インストールが終わったら、studio64.exeを右クリックして"Run with graphics processor"にカーソルを合わせて、"High-performance NVIDIA processor"がdefaultになっているかを確認します。
![select_gpu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/e7051bb2-6145-c2a5-97ba-8e80eb3fe24e.png)

NVIDIA GPUでないとAndroid Emulatorを動かすことができません。
defaultになっている場合、次項に進みます。
defaultでない(integrated graphicsがdefaultの)場合、NVIDIAコントロールパネルを起動します。
3D設定>3D設定の管理に移動し、グローバル設定の優先するグラフィックスプロセッサを高パフォーマンスNVIDIAプロセッサに設定します。
![select_gpu2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/14abc12a-7e1b-5eef-0040-c4eb6b8437ff.png)
※ 好みに応じて、プログラム設定から個別に設定しても構いません

#Android Studioの起動、そして"Hello, world!"
ようやくAndroid Studioを起動させ、ポチポチと下の画面まで進めます。
![yourvirtualdevices_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/77252873-b27e-339f-dabd-20b358e9e5d0.png)
大まかに言えば①でエミュレートしたいデバイスを選択し、②で実行という流れです。
①をクリックして、Open AVD Managerを選択します。
![setting_avd2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/fc036ad4-dd84-1fa2-4387-a0c01c9f02d0.png)
③Create Virtual Device...をクリックすると次の画面に移ります。
![yourvirtualdevices_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/72e3fe33-77fc-378d-5b4f-33165d7d4f86.png)
今回はPixel 2を選択してみました。
![yourvirtualdevices_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/e51b7763-d27a-dae1-3dc0-5ef711a0c7c3.png)
数GBあるので時間に余裕があるときにダウンロードしましょう。
ダウンロード完了したら、ひとまずFinishを押します。
再びAVD Managerを開きまして、④のEditをクリックします。
![setting_avd3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/425ffaf8-f158-fe27-24d9-3da61717931d.png)
Show Advanced Settingsをクリックすると詳細設定がズラーッと出てくるのですが、Emulated PerformanceのBoot optionをCold bootに設定します。
![setting_avd4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/338c0dde-2ae1-e280-4fcf-e60fa2f284e1.png)

これで設定は完了です。
②のボタンを押すと、エミュレータが起動するのでしばらく待ちます。
最終的にHello, world!が表示されれば導入は終わりです。
お疲れさまでした。
![yourvirtualdevices_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510637/67a3b7ac-d34d-98e9-5705-12af6a5a81be.png)


#参考文献まとめ
[Kotlinで始めるAndroidアプリ入門（前編）](https://qiita.com/k-ysd/items/4efdecdfd60afe333a3a)
[AMD CPU で Hyper-V を使って Android AVD を高速化する](https://qiita.com/loveloveoita/items/279b03a3d4a6a0077a58)
[AMD CPU Ryzen で Android Emulator を実行させる方法](https://webbibouroku.com/Blog/Article/amd-ryzen-android-emulator)
[ASUS TUF FX505 (DU) windows fails to boot with Hyper-V and SVM enabled. (BIOS 305)]
(https://www.reddit.com/r/HyperV/comments/c0q4ik/asus_tuf_fx505_du_windows_fails_to_boot_with/)