Windows Subsystem for Androidの進化を確認 エクスプローラーからのファイルのドラッグ&ドロップが可に
ASCII.jp / 2023年9月24日 10時0分
Windows 11で、Androidアプリケーションを起動するWindows Subsystem for Android(以下、WSA)は、頻繁にアップデートされている。今年2月に当時の状況を紹介した後(「AndroidアプリがWindowsで動く、「Windows Subsystem for Android」は今どうなってる?」)、先月までに5回のアップデートもあった。また、細かなバグも修正もされている。今回は、この半年の間の改良を見ていくことにしよう。
4月の更新ではPIPやメモリ占有量を減らした常駐が可能に
4月のアップデート(WSAバージョン2303.40000.3.0)では、「PIP(Picture-In-Picture)」と「Partially running」がサポートされた。PIPは、Android内では他のアプリなどの画面上に、小さなオーバーラップウィンドウでビデオ再生などを表示するものだ。
PIPを有効にすると、Windowsのデスクトップの右下、システムトレイの上にウィンドウが移動し、PIPウィンドウとして表示される。もともとAndroidアプリは、独立したウィンドウで表示されているので、あまり代わり映えしないが、PIP状態に入ったアプリを通常状態に戻す、あるいはPIPを許可しないという使い方はできるようだ。
一方のPartially runningは、WSAの設定アプリ(Android用Windowsサブシステム)の「詳細設定」→「メモリとパフォーマンス」→「サブシステムリソース」の設定に追加された機能だ。従来は、「継続」「必要時」の2つしか設定がなく、WSAを常駐させるか、毎回起動するかの二択だったが、「部分的に実行中」(日本語版の表記)を選択すると、WSAを最小リソースで常駐させ、アプリの起動時間を短縮させつつ、メモリ専有量を減らすことができる。
WSAは、仮想マシンで実現されており、おそらく仮想マシンを起動状態にしたまま、メモリ割り当てを減らすなどして、リソース占有量を減らしたものと考えられる。
続いて、WSAバージョン2304.40000.5.0では、パッケージをインストールする前にウィルススキャンをする「パッケージ検証」機能と、URLからAndroidアプリを起動するAndroid AppLinkがサポートされた。
このAppLinkが有効だと、アマゾンから来たメールにあるURLなどをクリックすると、WSAが1回起動してからブラウザでページが開くことがある。これは「Windowsの設定」→「アプリ」→「Webサイト用のアプリ」で、「Windows Subsystem for Android」のトグルスイッチをオフにして、AppLinkを禁止すれば止められる。
ドラッグ&ドロップとコピー/貼り付けによる ファイル転送に対応した
6月に配布されたWSAバージョン2305.40000.4.0以降では、Androidアプリに対して、エクスプローラーからのドラッグ&ドロップやコピー/貼り付けでファイル転送が可能になった。
ただし、Androidアプリ側は共有機能を公開している必要がある。Androidのアプリケーションの多くは、共有機能で情報を受け取ることができる。アプリは、インストール時にシステムにデータタイプ(MIMEタイプ)や呼び出しエントリポイントなどを登録する。これらはアプリの開発時に指定するもので、後から設定するものではない。
通常はAndroidの共有機能から起動され、アプリが起動してデータが読み込まれる。ドラッグ&ドロップによるファイル転送機能は、これを応用したものだ。ドラッグ&ドロップが実行されたときWSAがアプリの共有機能を起動してファイルを転送する。このため、Androidアプリ側が、ファイルタイプを共有機能で受け入れ可能でなければならない。同様に「コピー/貼り付け」でファイルを転送するには、クリップボードからの情報読み込みに対応している必要がある。
エクスプローラーなどでコピー、あるいはドラッグした対象データファイルのタイプと、Androidアプリ側の受け入れ可能なデータタイプが一致したときのみファイル転送機能が有効になる。
ローカルネットワークアクセス機能を搭載
7月に公開されたバージョン2306.40000.4.0では、ローカルネットワークアクセス機能が搭載された。これはWSAからのネットワークアクセスを、Win32側のIPアドレスを用いて実行するものだ。設定は、WSA設定の「詳細設定」→「試験的な機能」→「ローカルネットワークアクセス」から。
この設定が作られる以前は、WSAからのネットワークアクセスは、WSAをホストしている仮想マシンのネットワークスイッチ設定を使い、ホスト側とは異なるIPアドレスからLAN側をアクセスしていた。
WSAは、仮想マシンで実行されるLinuxカーネルで動作する。このため、ホスト側Win32とはネットワークスタックが異なる。Windowsの仮想マシンでは、「仮想ネットワークスイッチ」を使って、違うネットワークアドレスを仮想マシンに割り当て、仮想的な内部ネットワークを介して、ホストやホストが接続するLANにアクセスする。このあたりの仕組みは、WSL2とまったく同じである。
しかしWSAでは、IPアドレスをWin32側と同じにできる。ローカルネットワークアクセスを有効にするとAndroidのIPアドレスは、Win32側と同じになる。これは、Androidアプリデバッグ用のadb.exeで接続して、シェルを起動することで確認できる。また、アクセスされる側で調べても同様の結果が出る。
一般に2つの異なるTCP/IPネットワークスタックが同一のIPアドレスを扱うことは困難だ。スタック内で接続状態を管理しなければならないからだ。だとすると、WSAではLinuxカーネル内のTCP/IPスタックではなく、Win32側のTCP/IPスタックを利用していることが想定される。このローカルネットワークアクセスの切り替えではWSAの再起動が必要になることから、カーネルやそれに近いモジュールが切り替えられていると想像される。
ちなみにWSAでは、WSLとは異なるLinuxカーネルが使われている。これは、Linuxカーネルのバージョンが異なることから判断できる。WSAのカーネルバージョンは、前述のadb経由でシェルを起動することで確認できる。どちらも「uname -a」コマンドでカーネルバージョンを調べられる。原稿執筆時点では、WSAのカーネルバージョンは「5.15.104-windows-subsystem-for-android-20230710+」、WSLは「5.15.90.1-microsoft-standard-WSL2」だ。
フォルダ共有機能も強化される
この7月のアップデートでは、フォルダ共有機能も強化された。1つ前のバージョンで「ユーザーフォルダ共有」機能として提供された機能は、任意のフォルダを共有できるフォルダ共有機能になった。これは、同じくWSA設定の「詳細設定」→「試験的な機能」→「ユーザーフォルダーを共有する」から可能。Androidアプリ側では「/sdcard/Windows」が共有フォルダとなる。
名称はそのままだが、「フォルダーの変更」ボタンを使うことで、任意のフォルダーをWSAとWin32側で共有することが可能になる。「ユーザーフォルダー」の名前が残るのは、デフォルトがユーザーフォルダーになっていることに加え、隠しファイルなど動作に支障が出るファイルなどへのWSAからのアクセスが禁止されているからだ。
なお、現時点で最新となるWSA バージョン 2307.40000.5.0は、Android 13のセキュリティアップデートやWebViewの更新で、そのほかの改良点としては、プラットフォームの安定性が向上とあるだけだ。これまでの更新でも、頻繁に安定性の向上が入るところを見ると、まだまだ不安定な部分が残るのであろう。
WSA(Windows Subsystem Android)とWSL(Windows Subsystem Linux)は、名称が似ていて、仮想マシンを使って実現されているが、異なるLinuxカーネルを使うなど、実装には大きな違いがあるようだ。
この記事に関連するニュース
-
Windowsのパス変換に問題、アクセスできないファイルを作って悪用可能
マイナビニュース / 2024年4月30日 7時31分
-
2024年5月の月例更新プログラムは要注意 - 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年4月28日 16時0分
-
[Windows]キー使ってないの? Windows 11で覚えたいショートカット操作10選
&GP / 2024年4月25日 21時0分
-
Windows Subsystem for Linuxガイド 第34回 ミラードネットワークモード
マイナビニュース / 2024年4月9日 13時48分
-
Windows 11、業務生産性を向上する初心者向けカスタマイズ術
マイナビニュース / 2024年4月8日 7時5分
ランキング
-
1「ゲーム画面にしか見えない」 レッドブル“時速350キロ”ドローンでバイクレース空撮→非現実的な絵面に驚愕
ねとらぼ / 2024年5月4日 19時45分
-
2「そっち使うの?!」「これは天才」 さびだらけの鉄くぎをぐつぐつ煮込むと……? DIYに役立つ“まさかの使い道”が200万再生
ねとらぼ / 2024年5月2日 12時15分
-
3『ディアブロ IV』5月15日開幕のシーズン4「武装再錬」を紹介する映像公開―アイテムに史上最大の変更が加わる
Game*Spark / 2024年5月4日 17時30分
-
4『ポケモンGO』普段、日本じゃゲットできないポケモンに会える!48時間の“激レア色違い”が熱い「ライバルイベント」ポイントまとめ
インサイド / 2024年5月4日 0時0分
-
5「ルールに従わないと殺される」 森の中で“何か”に監視されるホラー映画『ザ・ウォッチャーズ』予告編[ホラー通信]
ガジェット通信 / 2024年5月3日 1時0分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください