【WSA】WindowsでAndroidアプリ実行！ GooglePlay も入れてみた

追記（2024/03/07）

なんとこのポンコツWSA、案の定廃止が決まりました！
https://pc.watch.impress.co.jp/docs/news/1574050.html

残念ではないし当然の結果かと思います。
だってAmazonのストア正直ゴミだし
BlueStackでよくね？を超えられなかったし
GooglePlayGamesも登場したわけだし

生き残るわけがない。。

.
.
.

以下本文

--------


WSAがリリースされて日本語パックにも含まれたらしいので早速使ってみたいなと！！

# WSAとは
知らなかったらこの記事見ないだろってことで、、

# 公式WSAは…うん。。
公式によると MicrosoftStore から Amazon appstore を入れれば一緒にWSAも入るとのこと  
https://learn.microsoft.com/ja-jp/windows/android/wsa/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/7ac50581-85b5-d495-6c45-ff7a2d8176b5.png)

WSAを入れるだけならこれでOK

ただこのAmazonAppstoreが酷えんだわ  
全然アプリがない
（一応APKあればインスコはできるみたいだけど不便が過ぎる。。

ので、やはりGooglePlayを入れたい

# GooglePlay入りのWSAのインストール
色々調べてみたけど下記が一番入れやすそう
https://github.com/LSPosed/MagiskOnWSALocal/tree/main
※非公式の方法でリンク先のリポジトリの信頼性も不明なため完全に自己責任でお願いします

**リポジトリをDL（Git使えるならcloneでも可）**
ブランチはmainを使います  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/7f1e07a1-4c98-0faa-9609-0991bd57fbdf.png)
※win-guiリポジトリは罠
　最初そっちで入れようとしたらビルドコマンドがうんともすんとも言わなくて駄目だった

**git clone 使わずファイルをDLをする人は「Code」のプルダウンから「Download ZIP」を選択してDL**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/1092bf1d-834c-db6f-af06-3df2cee50495.png)

適当な場所に展開してください


# 準備
## WSLをインストール
最初に`./script`以下にあるrun.shを叩く必要があるのでWSLを入れておく  
（.shをPowerShellでも叩けたらすまんこ）

WSLの入れ方はGoogle先生へ

ディストリビューションは大体何でもいいと思う  
私はUbuntu22.04にした

# インストール
基本的にreadmeに記載されているとおりに勧めていきます
https://github.com/LSPosed/MagiskOnWSALocal/tree/main

## run.sh を実行
`./script`以下にあるrun.shを実行する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/c9a638d2-c540-269a-5a9f-36be0349eecd.png)

Linuxコマンドなら`bash ./script/run.sh` とかでいける
途中sudoのパスフレーズ聞かれるので答える。

シェルスクリプトが動くと下記のような画面が出る
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/5afde75a-6b33-f594-7e15-b3e632ddd056.png)

質問内容は基本的にデフォルト
```
1. Build arch  
  →基本的にx64
2. WSA release type  
  →stale
3. Magisk version  
  →stable
4. Do you want to install GApps?  
  → yes
5. Which GApps do you want to install ?  
  → OpenGApps
6. Do you want to keep Amazon Appstore？  
  →No
7. Root solution  
  →magisk  
  （ここの質問がどこに影響するのかわからんかったのでデフォルトを選択）
8. Do you want to compress the output？  
  →yes
```
多分こんな感じ
（私は英語わからんし詳しいシステムもわからんのでreadmeに従って脳死で選択したけど間違ってたらコメントください）

選択した設定は必要なファイルのDLやビルド設定のようで、  
終了するまで結構かかるので気長に待つ。

※ちなみにブランチをwin-guiにしてるとこのあとスクリプトが動かなくなったので気をつけて

## Run.batを実行
前述のスクリプトが正常に終了するとoutputというディレクトリが生成されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/76071ee3-71d3-5ad7-799b-6c2470876368.png)

中には.7z形式のファイルが出力されているので  
対応するソフトウェアで解答してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/b7c4777a-613a-01bf-ec30-7546ec7c8d3d.png)

解答してディレクトリを下るとファイルが沢山はいってるので  
その中のRun.batを実行する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/4f95e7bd-d786-d7ec-4d37-ca9d12def4f6.png)

**※ 多分実行できない**  

は？って思うだろ？私も思った。。  
管理者権限で実行しても駄目なんだわ。

よくよくREADME見ると丁寧に回避方法書いてあった
```
If the popup windows disappear without asking administrative permission and WSA is not installed successfully, you should manually run Install.ps1 as administrator:
    a. Press Win+x and select Windows Terminal (Admin)
    b. Input cd "{X:\path\to\your\extracted\folder}" and press enter, and remember to replace 
       {X:\path\to\your\extracted\folder} including the {}, for example cd "D:\wsa"
    c. Input PowerShell.exe -ExecutionPolicy Bypass -File .\Install.ps1 and press enter
    d. The script will run and WSA will be installed
    e. If this workaround does not work, your PC is not supported for WSA
```

適当に訳すと、

正常にインストールできない場合は下記を試せ:
    a. Win+x を押して Windows Terminal (Admin) を開く **※ ここWinTermだと駄目だった。Powershell(管理者)ならいけた**
    b. さっき解凍したディレクトリまで移動する（cd /path/to/your/derectory）
    c. Powershell に→を入力して実行 `PowerShell.exe -ExecutionPolicy Bypass -File .\Install.ps1`
    d. スクリプトが実行され、WSAのインスコが完了する
    e. この方法でも駄目なら駄目なんだろ。お前の環境ではな。


# 完了
はいこれで無事にGooglePlaystoreが入る
（ふっつーに自分のGoogleアカウント入れたけどセキュリティ的にやばいかもだから使い捨て用に適当なアカウント作って使うが吉かも）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/f0b7292d-356a-f675-376e-5361ff46c388.png)

今回インストールされたものは下記３つ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/ccadd92c-a27c-d5d4-c55c-14ec17cf35a5.png)
（このMagiskって何者？）


# その他
まあひとまず無事にGooglePlayで入れたアプリも起動してる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/040d271d-1723-b976-28dc-16bb2de548fc.png)
（芽衣たそ～

ハイエンドスマホでも最高設定で60fpsにするとアチアチでキツくなるアイプラ
WSAで実行するとどうなるのか色々試してみたいと思ったのだが…

・・・あ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/9fbb07c1-e83e-da01-cb6a-dedb593dc662.png)
※急募 画面を横にする方法

して、そもそも動作がめっさ重い
ウィンドウサイズを小さめにしてグラフィック設定も低にしたけど撮影モードはライブが読み込めない
デイリーライブみたいに2Dの場合はプレイできる
（これならBluestacksとかのが優秀だな。。

原因はCPU処理に依存してるからだと思われ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/a9ad8bc2-8545-fde6-286c-08a6889fbfcf.png)
画面はハイスコアライブでスキップモード選択時
設定は低30fps
カックカクでどうにもならん。。

WSAの設定でGPUを指定してみた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/c0b4a193-2379-32c3-3d87-110a409f5fc7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/dc772ffc-f421-6bda-acf0-da8254245d8f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/810dffd0-b8e2-b3e5-8baf-23c3c00821ec.png)
相変わらずカックカクでどうにもならんしGPUよりCPUがボトルネックっぽいし
もうわっかんねーなこれ

まあAmazonAppstoreにあるアプリではないし非公式な入れ方だししゃーない
単純に対応してないとかなのかもしれんし

今後に期待

# 2022/09/20 追記
3Dがカクつく理由がわかった
単純にVRAMにデータ読み込めてないからだ
↑の画像でもVRAM(GPUメモリ)の使用量が右肩上がりなように、どのLiveでもメモリ使用率は右肩上がりだった
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/d9d922fb-bd31-6748-93ba-666e204e2b54.png)
なんならLive再生止めててもVRAMにデータ置きつづけてる。

本来はLoading画面中にストレージからメモリにデータは展開されるが、
Loading画面中にLoad終わってないのにも関わらずLiveが始まってしまってる模様。

ちなみにLIVEをずっと停止してるとVRAMの使用率が落ち着く。この状態でLive再生し直すとヌルヌル動く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606574/74fdbc8d-c6dc-3167-a7ef-06086b5a37be.png)

他のアプリでも起こるか試して、起こればWSA側の問題。
他のアプリでは起きないならアイプラアプリ側の問題。
（なんで私不具合解析してんの？

まあまたちょこちょこいじってみる