Android™️ 用 Windows サブシステム

Android™️ 用 Windows サブシステムを使用すると、Amazon Appstore で入手できる Android アプリケーションを Windows 11 デバイスで実行できます。 Android は Google LLC の商標です。 このガイドは、Windows デスクトップ デバイスを対象とし、Windows オペレーティング システム用に最適化することに関心のある開発者向けに書かれています。

Android アプリを Windows 11 のデバイスで使用できるようにするには、次のことを行う必要があります。

詳細情報またはサポート:

このガイドは、Windows で Android アプリをテストおよびデバッグするのに役立ちます。

開発者向け GitHub

Android 用 Windows サブシステムのロードマップの詳細を確認し、開発者の問題について説明し、サブシステム チームにバグや機能要求を提出できます。 Android 用 Windows サブシステム開発者向け GitHub にアクセスしてください。

プレビュー プログラム

Android™️ 用 Windows サブシステム プレビュー プログラムでは、ユーザーは Windows 上のAndroid™️ 用 Windows サブシステムと Amazon Appstore の早期プレビュー ビルドを受け取ることができます。 詳細については、プレビュー プログラムのページを参照してください。

開発環境を設定する

Windows デスクトップ環境で Android アプリをテストするには、セットアップが少し必要です。

前提条件

Android 用 Windows サブシステムは Windows 11 で利用できます。 デバイスは、特定の要件 (デバイス要件) を満たしている必要があります。

Amazon Appstore をインストールする

ユーザーが次の 2 つの操作のいずれかを行うと、Microsoft Store によって、Android 用 Windows サブシステムがバックグラウンドで自動的にインストールされます。

  1. Microsoft Store から Amazon Appstore をインストールします。 [取得する] を選択すると、アプリのインストールが開始されます。
  2. Microsoft Store から Android アプリを初めてインストールすると、Amazon Appstore もインストールされます。

Amazon Appstore と Android 用 Windows サブシステムの設定アプリが Windows 11 スタート メニューに表示され、検索で使用できるようになり、Android アプリのカタログが提供されます。

Amazon App Store の [取得する] ボタンが表示されている Microsoft Store ページのスクリーンショット

Note

Amazon Appstore on Windows (Windows 11 で Android アプリを実行するために必要) は、一部の地域で利用可能です。

Android™️ 用 Windows サブシステムの設定アプリ

Android 用 Windows サブシステムの設定アプリにアクセスするには、[スタート] > [すべてのアプリ] > [Windows Subsystem for Android™️ Settings](Android™️ 用 Windows サブシステムの設定) に移動します。 特定の設定アプリ機能の詳細については、「Windows でモバイル アプリの設定を管理する」を参照してください。

Latte アプリ設定のスクリーンショット

Windows デバイスの入力互換性に関する考慮事項

Android アプリのコードの更新が必要になる可能性がある、考慮する必要がある固有の入力動作がいくつかあります。これらは、Amazon Appstore を介して Windows デスクトップ デバイスで実行される場合は互換性があるよう、ハンドヘルド デバイス向けに設計されています。

キーボード入力

EditText などの画面上の仮想キーボード入力方式 (または IME) によって処理されるテキスト入力フィールドの場合、アプリは想定どおりに動作するはずです。 (Android ドキュメントの EditText クラス)。

フレームワークによって予測できないキーストロークの場合は、アプリ自体で動作を処理する必要があります。 これがアプリに既に実装されている場合、追加の作業は必要ありません。

たとえば、一部のゲームでは、タッチ入力と共に、キーボードの wasd キーを利用した移動が既にサポートされている場合があります。

Windows 11 デバイス用に構築するときに、開発者がコードの更新を検討する必要があるキーボード入力を次に示します。

  • Enter キー
  • 方向キーとタブ キーのナビゲーション
  • 選択項目の強調色の変更
  • Ctrl キー ベースのショートカット

デスクトップ デバイスでこれらのキーボード入力シナリオを最適化する方法の詳細については、Android のドキュメントを参照してください。

マウス入力

開発者は、Windows デバイス用に構築するときは、次のマウス入力に関するコードの更新を検討する必要があります。

  • 右クリック
  • ツールヒントとホバー テキスト
  • ホバー効果
  • マウスのスクロール ホイールの操作
  • ドラッグ アンド ドロップ

キーボード入力と同様に、マウス入力についても、公式の Android アプリ ガイドラインに従う必要があります。 これは、InputDevice クラスと SOURCE_MOUSE 定数を組み合わせて使用することを意味します。 デスクトップ デバイスでこれらのマウス入力シナリオを最適化する方法の詳細については、Android のドキュメントを参照してください。

ウィンドウの管理とサイズ変更

従来のモバイル フォーム ファクターとは異なり、Windows 11 で実行される Android アプリでは、自由にサイズ変更することができ、サイズ変更にすばやく応答する必要があり、Windows のアクションとジェスチャを使用してスナップできます。

画面の最小要件

Windows 11 では、9 インチより大きい画面については 720p 解像度 (1280x720) の最小画面要件が適用されます。

文字とピラーのボックス化

ウィンドウ サイズの縦横比が、ウィンドウが表示されるデバイスの画面サイズの間で一致していない場合、結果は Letterboxing (ウィンドウの幅が高さより大きい、つまり横に長い) または Pillarboxing (ウィンドウの幅が高さより小さい、つまり縦に長い) になることがあります。 結果として、ウィンドウを中央に配置するため、ウィンドウの端にバーが配置されます。 これらのバーは、選択されているシステム設定に応じて、淡色または濃色のテーマになる場合があります。 これは、Android アプリがスナップまたは最大化されている場合にのみ必要に応じて行われるので、Android アプリは Windows の豊富なスナップ機能を利用し、ウィンドウ モデルに統合できます。

ウィンドウを中心に配置するためにブランクのバーが表示される Letterboxing と Pillarboxing の例

サイズ変更に関するその他の考慮事項

Windows 11 デバイスで実行するように Android アプリを更新するときは、ウィンドウの管理とサイズ変更に関して、次の点も考慮する必要があります。

  • 初期起動サイズ
  • ウィンドウの寸法
    • コンテンツの境界
    • 自由形式のサイズ変更
  • 画面の向き

デスクトップ デバイスでウィンドウ サイズ変更のシナリオ用に最適化する方法の詳細については、Android ドキュメントのウィンドウ管理ガイドを参照してください。

テストとデバッグ

Android 用 Windows サブシステムを使用して Windows 11 デバイスでアプリをテストおよびデバッグするには、次のセットアップ手順が必要です。

Windows の設定で開発者モードを有効にする

最初に、Windows の設定で開発者モードを有効にする必要があります。 開発者モードを有効にするには、3 つの方法があります。

  • Android 用 Windows サブシステム設定アプリを開きます。 開いたら、 開発者モードを有効にします。
  • Windows 検索で「開発者設定」を検索します。
  • [設定] > [プライバシーとセキュリティ] > [開発者向け] > [開発者モード] に移動します。

デバッグのために Android 用 Windows サブシステムに接続する

デバッグのために Android 用 Windows サブシステムの VM に接続するには、次のようにします。

  1. Amazon Appstore を使用してインストールされた Android アプリを起動します。

  2. 次のコマンドを使用すると、adb connect を使用して接続できます (adb がインストールされている必要があります)。

    adb connect 127.0.0.1:58526
    

テスト デバイスに接続する

Windows または Mac と同じネットワーク上の (Android 用 Windows サブシステムがインストールされている) テスト デバイスに接続するには:

  1. (Android 用 Windows サブシステムがインストールされている) テスト デバイスで、PowerShell ウィンドウを開き、次のコマンドを実行してテスト デバイスの IP アドレスを特定します。

    ipconfig
    
  2. Android Studio と Android SDK がインストールされているデバッグ デバイス ターミナルを使用して (Mac/Windows)、次のコマンドを入力します。

    adb connect <TEST DEVICE IP ADDRESS>:58526
    

<TEST DEVICE IP ADDRESS> は、テスト デバイスからの "ipconfig" の出力で確認できます。 Android Studio からアプリを展開してデバッグすることもできます。

Android Debug Bridge (ADB) を使用して開発ワークステーションを Android デバイスに直接接続し、パッケージをインストールして変更を評価できるようにするには、Android Open Source Project のドキュメントの Android Debug Bridgeに関するページを参照してください。

アプリのデバッグ

アプリをインストールするには Amazon Appstore を使用する必要がありますが、Windows デバイスでの Android アプリのデバッグは、APK (Android アプリケーション パッケージ) と adb (Android Debug Bridge) を使用して行うことができます。

adb を使用して APK をデバッグするには:

  1. 上記の手順に従って、Android 用 Windows サブシステム VM に接続します。

  2. adb インストール コマンド adb install app-debug .apk を使用して APK をインストールします

    予想される出力:

    Performing Streamed Install
    Success
    
  3. 正常に "アプリがインストールされた" という通知が Windows 通知メニューに表示され、選択するとアプリが起動します。

ユニバーサル APK の構築

Android 用 Windows サブシステムでは、Intel Bridge Technology を利用して、x86 ベースのプロセッサで Arm アプリケーションがエミュレートされます。 Arm アプリケーションは、Arm ベースのプロセッサ上でネイティブに実行されます。 エミュレーション レイヤーでは、パフォーマンスのオーバーヘッドが発生します。最適なパフォーマンスのため、x86-64 と Arm64 両方のアーキテクチャ用のアプリケーションを送信してください。

VM のライフサイクルに関する考慮事項

Android 用 Windows サブシステムでは、AOSP フレームワークおよびキーボード、マウス、タッチ、ペンなどのデバイスとの互換性が提供される仮想マシン (VM) が利用されます。

Android 用 Windows サブシステムでアプリを実行する VM には、次の 3 つの状態があります。

  1. 実行中
  2. Lightweight Doze (軽い居眠り): 3 分間アプリのアクティビティがないとアクティブ化されます。 ユーザー アクティビティまたはアプリ通知によって非アクティブ化されます。
  3. 非実行中: 7 分間アプリのアクティビティがないとアクティブ化されます。

これらの状態間の遷移は、ユーザー アクティビティ (Android アプリの起動や操作、アプリの通知など) によってトリガーされます。 Android アプリは一時停止された後、ウィンドウが最小化されると停止されます。

実行中、軽い居眠り、非実行中を示す VM のライフサイクルのグラフ

VM のプロパティ

Android 用 Windows サブシステム VM のプロパティを以下に示します。 将来の非互換性の原因となる可能性があるため、これらの値をハードコーディングすることは推奨されません。

プロパティ
Build.MANUFACTURER Microsoft Corporation
Build.MODEL Android 用サブシステム
Build.VERSION.SDK_INT 30
Build.BOARD Windows

セキュリティ

Android 用 Windows サブシステムでは、ソフトウェアベースのファイル単位の暗号化が実行されます。

Windows カーネル モード ドライバーと、中整合性レベル (IL) で実行されている Windows アプリケーションの両方で、任意の Android コンテナーと Android アプリのメモリを検査できます。 チート、マクロ、ボット、疑わしい動作に関する検出が追加される予定は、短期的にはありません。

開発者は、getSecurityLevel のクエリを実行すると SECURITY_LEVEL_SW_SECURE_CRYPTO を取得します。 getSecurityLevel の詳細については、Android API のリファレンス ガイドを参照してください。

Android 用 Windows サブシステムのアンインストール

Android 用 Windows サブシステムをアンインストールできますが、関連付けられているすべてのアプリもアンインストールされることに注意してください。

  • Amazon Appstore をアンインストールすると、Android 用 Windows サブシステムおよび他のすべての Android アプリがアンインストールされます。
  • Amazon Appstore アプリをアンインストールすると、アンインストールされるのはアプリだけです (Windows アプリと同じ動作)。
  • Android 用 Windows サブシステムをアンインストールすると、Amazon Appstore とすべての Android アプリがアンインストールされます。

問題のトラブルシューティング

Windows で Amazon Appstore に固有の問題が発生する場合は、次のトラブルシューティング手順を試してください。

  1. Windows のタスク バーから [Windows Search] を選択します。
  2. "Amazon Appstore" を検索し、Amazon Appstore のアイコンを右クリックします。
  3. ドロップダウン オプションで [アプリの設定] を選択します。
  4. [ストレージとキャッシュ] を選択し、[Clear Storage](ストレージのクリア) と [Clear cache](キャッシュのクリア) の両方をクリックします。
  5. 戻って [Force Stop](強制停止) を選択します。
  6. Amazon Appstore の設定ウィンドウを閉じます。
  7. Amazon Appstore を再起動します。

Android 用 Windows サブシステムの設定アプリに関連するその他のトラブルシューティング手順、またはフィードバック Hub を使用してフィードバックを残す方法については、「Windows でのモバイル アプリのトラブルシューティングと FAQ」を参照してください。

その他の開発者の質問やサポートについては、Microsoft Q&A で Android 用 Windows サブシステムのタグを使用してください。

その他の資料