MENU

Windows10でもAndroidアプリが動かせる?WSAPatchの使い方

Windows11の目玉機能に「AndroidアプリがWindows上で動作する(WSA: Windows Subsystem for Android)」があります。なんとWindows10でもこの機能が使えたので自分用手順メモです。

Windowsで公式にサポートされていない機能をインストールする行為です。
セキュリティを含む様々なリスクがありますので、推奨しません。
またこの記事を参考にして生じた損害について筆者は補償しません。
もしも真似される場合は、完全に自己責任でお願いします…!!

目次

事前準備

必要なもの

  • WSL2のインストール
  • Windows 11 22H2 搭載のマシン

Windowsのバージョンの確認

コマンドプロンプトから「winver」を実行して、Windowsのバージョンを表示します。

(OS Build xxxxx.xxxx) と記載がある箇所を確認します。私の環境では、19045.3324でした。この値を覚えておきます。

もしWIndowsのバージョンが10.0.19045.2311 以下の場合、アップデートします。

インストール

WSA appx の入手とビルド

以下のコマンドによりMagiskOnWSA を入手します。

git clone https://github.com/LSPosed/MagiskOnWSALocal.git --depth 1

cloneしたフォルダに移動します。

cd MagiskOnWSALocal/

WSL2のターミナルを開き、scripts/run.shを実行します。

wsl
sudo ./scripts/run.sh

run.sh 実行後は下記のウィザードに従います。
選択肢で迷うかもしれませんが、とりあえず以下の様に選択し動きました。

パッケージの作成が始まるので少し待ちます。

「done」と表示があったら完了です。

ビルド時にエラーが出るときは

もし下記のようなエラーが出る場合には、build.shをこちらのプルリクエストの様に書き換えてから、build.shを再実行してください。

Mount images
fuse.erofs 1.6-g689372cd
disk: /tmp/wsa-build-IPYUtlTbmS_/wsa/x64/system.img
offset: 0
mountpoint: /tmp/wsa-build-IPYUtlTbmS_/erofs
dbglevel: 0
<E> erofs: cannot find valid erofs superblock
failed to read erofs super block
Build: an error has occurred, exit

WsaPatch.dll 及び icu.dll の入手

WSAPatchリポジトリのREADME にある以下の記載を参考にして、Windows 11 PC から icu.dllを取得した後、WsaPatch.dll 及びパッチされた icu.dll を入手します。

  1. Get “icu.dll” from Windows 11 22H2. Note that you MUST use icu.dll from Windows 11. The icu.dll from Windows 10 will NOT work. (I have made a copy of these DLLs in the original.dll.win11.22h2 dir. They are digitally signed by Microsoft.)
  2. Build WsaPatch.dll with source code in this repo. (Build with MSVC toolchain, not MinGW or something else.)
  3. Patch icu.dll: add WsaPatch.dll as an import DLL as icu.dll.
  4. Copy patched icu.dll and WsaPatch.dll to WsaClient dir.

(注意) release page からパッチ済のWsaPatch.dll 及び icu.dll が公開されていますが、セキュリティ上の不安もあるため使用しないようにしましょう。

先ほど実行した MagiskOnWSALocal フォルダに移動し、outputフォルダ内にある「WsaClient」フォルダに上記2つのファイルをコピーします。

AppxManifest.xml の修正

outputフォルダ内にある ”AppxManifest.xml” を編集します。

下記の「TargetDeviceFamily」要素について、「MinVersion」属性を先ほど確認したWindowsのバージョンの表示に基づいて書き換えます。

私の例では、こうだったので…

こうします。

下記の2か所の記述を削除します。

こんな感じ。(とりあえずコメントアウトが安全かなと…)

WSA 機能の有効化

ハマりポイント:作成したフォルダーは、Cドライブ直下など \\wsl$ 以外の場所に移動する

outputフォルダが、\\wsl$以下の場所にないことを確認したうえで、PowerShellから(または普通にダブルクリックして)フォルダ内の「Run.bat」を実行します。

Run.bat

動作中の画面はこんな感じです。

このような画面が出てきたら(チェックは付けずに)続ける でいいでしょう。

ファイアウォールの設定もとりあえずOKしちゃいました。
上のチェックボックスだけつけておけば問題なかったです。

アプリストアとAndroidアプリの起動

インストールが終了すると、スタートメニューから「Android用Windowsサブシステム」が選べますのでクリックして起動します。

左のメニューから「アプリ」をクリックし、

「アプリストア」、つまりAmazonのAndroidアプリストアを起動します。
右側にある「…」をクリックすると表示されるメニューから、「開く」をクリックします。

Amazon アカウントでログインして…

アプリストアで何かしらインストールしたいアプリを選択すると…

スムーズにインストールし、起動しました。動作も問題なさそうです。

今回はTEDICTで動作を確認しました。以降詳細な使い勝手はWindows11のWSAと全く変わらないので、こちらを参考にしてください。

あわせて読みたい
Androidアプリ(TEDICT)をPCで動かす – Windows 編 TED動画でディクテーションができるAndroidアプリ「TEDICT」を、Windows PCで動かす方法をまとめました。これ以外のAndroidアプリも、同じ方法で動作しますので是非参考...

おわりに

結構ハマりポイントが多くて難解でしたが、何とかWindows10でもWSAを動かすことができました。かなりめんどくさいのでWindows11にするのが一番スムーズではありますね…。

参考

https://softantenna.com/blog/wsapatch/

https://github.com/cinit/WSAPatch

https://github.com/LSPosed/MagiskOnWSALocal

ビルド時のエラー対応

https://github.com/LSPosed/MagiskOnWSALocal/issues/648

https://github.com/LSPosed/MagiskOnWSALocal/pull/620/files

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

エンジニアの私が大好きな、ガジェット/オーディオ機器 のレビュー&自作 を中心に
日々の生活におけるお役立ち備忘録を目指します。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

コメント

コメント一覧 (2件)

コメントする

目次