マイクロソフトがWindows 11 上の Subsystem for Android をプレビューし、The Register がそれを試してみました。
マイクロソフトは今月初め、Windows Insiderプログラムを通じてWindows 11向けのAndroidアプリを公開しましたが、ユーザーにとってアプリの利用は極めて困難になっているようです。公式ルートでは、まず米国にいること、次にWindows 11の最新ベータ版(最先端の「開発者チャンネル」ではない)をインストールしていること、そしてプロセッサ、メモリ、ストレージタイプ(SSDのみ)の要件を満たすことが求められます。
Amazon AppstoreはWSAへの公式アクセス方法です
Amazonアプリストアは、アプリケーションの入手とインストールのための公式ルートであり、米国のAmazonアカウントをお持ちのユーザーのみにフルインストールされます。ユーザーにとって厄介な制限は、Amazonアプリストア(主にAmazon Fireタブレットユーザー向け)は、46万本のアプリを誇っているものの、Googleの公式Playストアには到底及ばないということです(AppBrainによると、Playストアは約270万本のアプリを擁しています)。
Amazonアプリストアのプレビューの要件は比較的厳しい
Microsoftにはそれなりの理由があるはずですが、これらの制限の多くは人為的なものであり、Add-AppxPackageなどのPowerShellコマンドを慎重に使用したり、adb(Android Debug Bridge)ツールを使用してAndroidアプリをサイドロードしたりすることで回避できるようです。Amazonアプリストアアプリ自体をサイドロードすることで、すべてのアプリにアクセスできるようになります。
Aidan Marcuss (Windows のコーポレート副社長) と Giorgio Sardo (Microsoft Store の GM) は、Windows Subsystem for Android (WSA) は「オープン性に対する当社のコミットメントを体現する」ものであり、Windows ユーザーが「使用されているテクノロジに関係なく」アプリを実行できるようにするものであると述べた。
Android アプリは、Intel および Arm プロセッサ タイプの両方で Hyper-V 仮想マシン上で実行され、Arm 専用アプリは「ランタイム ポスト コンパイラ」と呼ばれる Intel Bridge テクノロジーによってサポートされます。
詳細は不明ですが、AMDプロセッサとIntelプロセッサの両方で動作するソフトウェアソリューションです。Microsoftは公式ドキュメントで、「エミュレーションレイヤーはパフォーマンスのオーバーヘッドを引き起こします。最適なパフォーマンスを得るには、x86-64アーキテクチャ向けのアプリケーションをご提出ください」と述べています。
Windows Subsystem for Androidというアプリが設定を開きます
WSAをインストールすると、驚くほどスムーズな操作性が得られます。各Androidアプリはそれぞれ独自のウィンドウで実行され、複数のアプリを同時に開くことができます。また、Windowsアプリと同様に、スタートメニューに表示したり、タスクバーにピン留めしたりできます。AndroidアプリはWindowsアプリケーションと同様にサイズを変更できますが、これは対応しているアプリのみで、一部のアプリはスマートフォンのような形状に戻ります。サウンド機能に加え、タッチコントロール、キーボード、マウスも使用できます。
奇妙なことに、「Windows Subsystem for Android」というアプリはWSAを直接実行するのではなく、設定アプリケーションです。これを開いて「ファイル」をクリックすると、WSA本体が実行され、ファイルシステム内のユーザーフォルダにアクセスできるようになります。
開発者モードを有効にすると、adbが使用するIPアドレスとポート番号を確認できます。有効にすると、デフォルトでオンになっているUSBデバッグを含む開発者向け設定にもアクセスできます。また、「常時」オプションでは、デフォルトの「必要に応じて」ではなく、WSAをバックグラウンドで常時実行できます。
WSAはAndroid StudioのデバッグリストにTM付きで表示されます
WSAの重要な特徴の一つは、開発者がAndroidアプリケーションのテストとデバッグを行えることです。WSAがインストールされたPCにAndroid Studioをインストールし、プロジェクトを作成しました。次に、コマンドプロンプトを開いてadbを実行し、WSAに接続します。最後にAndroid Studioに戻り、「実行」→「デバッグ」を選択します。最初の試みは、Android SDKコマンドラインツールのライセンス条項に同意していなかったため失敗しました。解決策は、Android Studio SDKマネージャーからこれらのツールをインストールすることです。ライセンス条項が表示されます。完了すると、WSA上でアプリケーションを実行およびデバッグできるようになりました。
Androidエミュレータを使用するよりもスムーズな操作性を実現していますが、位置情報のエミュレーションやデバイスサイズの設定といった一般的な機能は備えていません。また、アプリケーションがGoogle Play開発者サービスにアクセスする必要がある場合には適していません。しかし、Androidアプリケーションの開発を開始し、後ほど実機やエミュレータでテストを行う場合、あるいはWSA向けに開発を行い、AndroidコードをWindowsで再利用したい場合などには最適です。
Android Studio を使用した WSA のデバッグ
Windows開発者なら、Project Astoriaを覚えているかもしれません。これは、Windows PhoneとWindows 10の開発を促進するためのMicrosoftの2つの取り組みのうちの1つです。Project Islandwoodは開発者がiOSアプリをWindowsに移植できるようにし、Project AstoriaはAndroidアプリを実行するためのものでした。Project Astoriaの一部はWindows Phone用のAndroidサブシステムで、一部のプレビューリリースで登場しました。Project Astoriaは2015年に無期限保留となりましたが、その後、このテクノロジはWindows Subsystem for Linuxとして再浮上し、Windows 10の優れた機能の1つであることが証明されました。Project AstoriaがWSAにどれだけ残っているかは憶測の域を出ませんが、今、その登場は一つの循環を完成させたように感じられます。
カジュアルゲームが不足しているWindowsユーザーは、WSAでさらに多くのゲームを見つけることができます。
Windows 上の Android 開発者がエミュレーターを使わずに済むという以外に、WSA のメリットは何でしょうか? 簡単なハンズオンテストでは、Android アプリが十分に動作し、他の方法では実行できないアプリを実行するための優れたソリューションであることが分かりました。
Amazonアプリストアにはカジュアルゲームが山ほどあるので、カジュアルゲーム好きのユーザーはきっと喜ぶでしょう。しかし、他に何かあるでしょうか?開発者にとっての魅力こそが、WSLの最大の利点なのかもしれません。WSLは既にWeb開発者やLinux開発者にとってWindowsの使い勝手を向上させてきましたが、WSAはAndroid向けにも改善することを約束しています。®