™️ Windows 子系統 Android 版

Windows 子系統 Android 版 ™️可讓您的Windows 11裝置執行可在Amazon Appstore中使用的 Android 應用程式。 Android 是 Google LLC 的商標。 如果您是想要以 Windows 桌面裝置為目標並針對 Windows 作業系統進行優化的開發人員,本指南適用于您。

若要在Windows 11裝置上使用 Android 應用程式,您必須:

如需詳細資訊或支援:

本指南可協助您在 Windows 上測試和偵錯 Android 應用程式:

開發人員 GitHub

想要深入瞭解Windows 子系統 Android 版藍圖、討論開發人員問題和向子系統小組提出 Bug 或功能要求嗎? 流覽開發人員 GitHub Windows 子系統 Android 版

預覽計畫

Windows 子系統 Android 版 ™️預覽計畫可讓使用者在 Windows 上接收Windows 子系統 Android 版 ™和Amazon Appstore的早期預覽組建。 如需詳細資訊,請流覽 預覽計畫頁面

設定開發環境

若要在 Windows 桌面環境中測試 Android 應用程式,需要一些設定。

必要條件

Windows 11上提供Windows 子系統 Android 版。 您的裝置必須符合特定需求: 裝置需求

安裝Amazon Appstore

當採取下列兩個使用者動作之一時,Microsoft Store 會自動在背景中自動安裝Windows 子系統 Android 版:

  1. 從 Microsoft Store 安裝Amazon Appstore。 選取 [取得 ] 將會開始安裝應用程式。
  2. 第一次從 Microsoft Store 安裝 Android 應用程式,這也會安裝Amazon Appstore。

Amazon Appstore和Windows 子系統 Android 版 [設定] 應用程式接著會出現在 [Windows 11 開始] 功能表中,並在搜尋時提供 Android 應用程式目錄。

Microsoft Store 頁面的螢幕擷取畫面,其中顯示 Amazon App Store上的 [取得] 按鈕

注意

Windows 上的Amazon Appstore (Windows 11) 上執行 Android 應用程式的需求可在選取區域中使用。

™️ Windows 子系統 Android 版設定應用程式

若要存取Windows 子系統 Android 版設定應用程式,請移至:啟動 > 所有應用程式 > Windows 子系統 Android 版 ™️設定。 深入瞭解特定設定應用程式功能: 管理 Windows 上行動應用程式的設定

Latte 應用程式設定的螢幕擷取畫面

Windows 裝置的輸入相容性考慮

有一些唯一的輸入行為需要考慮,可能需要更新 Android 應用程式程式碼,專為便攜裝置所設計,才能透過 Amazon Appstore 在 Windows 桌面裝置上執行時相容。

鍵盤輸入

對於螢幕虛擬鍵盤輸入方法所處理的文字輸入欄位, (或輸入法) ,例如 EditText ,應用程式應該如預期般運作。 (Android 檔中的 EditText 類別) 。

對於架構無法預期的按鍵,應用程式必須自行處理行為。 如果已在應用程式中實作此動作,則不需要額外的工作。

例如,某些遊戲可能已經支援透過鍵盤、透過 wasd 按鍵以及觸控輸入來促進移動。

以下是開發人員在針對Windows 11裝置建置時應該考慮的程式碼更新的鍵盤輸入:

  • 輸入金鑰
  • 方向鍵和索引標籤鍵導覽
  • 變更選取的專案醒目提示色彩
  • Ctrl 型快捷方式

遵循 Android 檔,深入瞭解如何針對桌面裝置上的這些鍵盤輸入案例進行優化:

滑鼠輸入

針對 Windows 裝置建置時,開發人員應該考慮更新下列滑鼠輸入的程式碼:

  • 以滑鼠右鍵按一下
  • 工具提示/暫留文字
  • 暫留效果
  • 滑鼠滾輪動作
  • 拖放

滑鼠輸入類似于鍵盤輸入,必須遵循官方 Android 應用程式指導方針。 這表示使用 InputDevice 與常數配對的 SOURCE_MOUSE 類別。 遵循 Android 檔,深入瞭解如何在桌面裝置上優化這些滑鼠輸入案例:

視窗管理和調整大小

不同于傳統的行動裝置尺寸,在Windows 11上執行的 Android 應用程式可以自由調整大小、在調整大小時回應,而且可以使用 Windows 動作/手勢來貼齊。

螢幕需求下限

Windows 11使用 9 吋螢幕強制執行 720p 解析度的最低螢幕需求, (1280x720) > 。

信件 & 柱子方塊

當視窗大小的外觀比例與視窗顯示所在的裝置螢幕大小不一致時,結果可能是 [信件箱處理] (視窗的寬度大於高,或水準較長的) 或柱形框 (視窗較寬,或垂直較長) 。 結果是將橫條放在視窗的側邊,以便置中。 根據選取的系統設定而定,這些橫條可能是淺色或深色主題。 只有在 Android 應用程式已貼齊或最大化時,才會視需要發生這種情況,讓 Android 應用程式利用 Windows 中的豐富貼齊功能,並整合到視窗化模型中。

Letterboxing 和 Pillarboxing 範例,其中顯示置中視窗的空白橫條

其他調整大小考慮

在更新 Android 應用程式以在視窗管理和調整大小方面,在Windows 11裝置上執行時,也應該考慮下列事項:

  • 初始啟動大小
  • 視窗維度
    • 內容界限
    • 自由格式調整大小
  • 螢幕方向

遵循 Android 檔中的視窗管理指南,深入瞭解如何針對桌面裝置上的視窗大小調整案例進行優化。

應用程式生命週期事件

開發多視窗環境的 Android 應用程式會影響您選擇在應用程式中使用的生命週期事件。 雖然覆 onPause 寫事件可能會達到您想要在手機或平板電腦上的結果,但如果您變更應用程式的 UX,通常會使用錯誤事件。

如需生命週期事件的描述,請參閱 Android 檔 。 您通常想要使用 onStop 事件,而不是 onPauseonUserLeaveHint 事件。 事實上,許多多視窗 Android 實作不會傳遞 onUserLeaveHint 通知,因此任何可能在該事件處理常式中的商業關鍵邏輯都不會在這些平臺上呼叫,包括Windows 子系統 Android 版。

測試與偵錯

若要使用Windows 子系統 Android 版下列設定步驟,在Windows 11裝置上測試及偵錯您的應用程式。

在 Windows 設定中啟用開發人員模式

您必須先在 Windows 設定中啟用開發人員模式。 有三種方式可啟用開發人員模式:

連線到用於偵錯的Windows 子系統 Android 版

若要連線到Windows 子系統 Android 版 VM 以進行偵錯:

  1. 啟動使用 Amazon Appstore 安裝的 Android 應用程式。

  2. 您可以使用 adb connect 與下列命令連線, (您必須 安裝 adb) :

    adb connect 127.0.0.1:58526
    

連線到測試裝置

若要從 Windows/Mac 連線到測試裝置 (,Windows 子系統 Android 版安裝在相同網路上) :

  1. 在安裝Windows 子系統 Android 版的測試裝置 () 開啟 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 偵錯橋接器 (ADB) 將開發工作站直接連線到 Android 裝置,以便您可以安裝套件和評估變更,請參閱 Android 開放原始碼專案中的 Android 偵錯橋接器檔

偵錯您的應用程式

雖然應該使用Amazon Appstore安裝應用程式,但可以使用 APK (Android 應用程式套件來偵錯 Windows 裝置上的 Android 應用程式,) 和 adb (Android 偵錯橋接器) 。

若要使用 adb 對 APK 進行偵錯:

  1. 請依照上述步驟連線到Windows 子系統 Android 版 VM。

  2. 使用 adb install 命令安裝 APK: adb install app-debug.apk

    預期的輸出:

    Performing Streamed Install
    Success
    
  3. 成功的「已安裝應用程式」通知會出現在 Windows 通知功能表中,且應用程式會在選取之後啟動。

建置通用 APK

Windows 子系統 Android 版利用 Intel Bridge Technology 在 x86 型處理器上模擬 Arm 應用程式。 Arm 應用程式會以原生方式在 Arm 型處理器上執行。 模擬層將引發效能額外負荷 – 為了達到最佳效能,請針對 x86-64 和 Arm64 架構提交您的應用程式。

VM 生命週期考慮

Windows 子系統 Android 版會利用虛擬機器 (VM) ,以提供與鍵盤、滑鼠、觸控、手寫筆等AOSP 架構和裝置的相容性。

執行應用程式的 VM 有三種可能的狀態,Windows 子系統 Android 版:

  1. 執行中
  2. 輕量型 Doze:在沒有應用程式活動 3 分鐘後啟動。 由使用者活動或代理程式更新停用。
  3. 未執行:在未執行應用程式活動 7 分鐘後啟動。

這些狀態之間的轉換會由使用者活動觸發,例如啟動或與 Android 應用程式或代理程式更新互動。 Android 應用程式會暫停,然後在視窗最小化時停止。

VM 生命週期圖表,顯示執行中、輕量型 Doze,且未執行

VM 屬性

下列列出Windows 子系統 Android 版 VM 的屬性。 不建議硬式編碼這些值,因為這可能會導致未來的不相容。

屬性
Build.MANUFACTURER Microsoft Corporation
Build.MODEL Android (TM) 子系統
Build.VERSION.SDK_INT 32
Build.BOARD windows

安全性

Windows 子系統 Android 版會執行以軟體為基礎的個別檔案加密。

Windows 核心模式驅動程式和在中完整性層級執行的 Windows 應用程式, (IL) 可以檢查任意的 Android 容器和 Android 應用程式記憶體。 沒有計劃在短期內新增速查/宏/Bot/可疑行為偵測的偵測。

開發人員查詢 getSecurityLevel 將會取得 SECURITY_LEVEL_SW_SECURE_CRYPTO 。 深入瞭解 getSecurityLevelAndroid API 參考指南

卸載Windows 子系統 Android 版

您可以卸載Windows 子系統 Android 版,但請注意,也會卸載所有相關聯的應用程式。

  • 卸載Amazon Appstore將會卸載Windows 子系統 Android 版和其他所有 Android 應用程式。
  • 卸載Amazon Appstore應用程式只會將應用程式卸載 (與 Windows 應用程式) 相同的行為。
  • 卸載Windows 子系統 Android 版將會卸載Amazon Appstore和所有 Android 應用程式。

針對問題進行疑難排解

如果您在 Windows 上遇到Amazon Appstore特有的問題,請嘗試下列疑難排解步驟:

  1. 從 Windows 工作欄選取 [Windows 搜尋 ]。
  2. 搜尋 「Amazon Appstore」,並以滑鼠右鍵按一下Amazon Appstore圖示。
  3. 在下拉式清單中選取 [應用程式設定]。
  4. 選取 [儲存體和快取],然後按一下 [清除儲存體] 和 [清除快取]。
  5. 返回並選取 [強制停止]。
  6. 關閉 [設定] 視窗Amazon Appstore。
  7. 重新開機Amazon Appstore。

如需與Windows 子系統 Android 版設定應用程式相關的進一步疑難排解步驟,或使用意見反應中樞留下意見反應,請參閱Windows 上行動裝置應用程式的疑難排解和常見問題

針對任何其他開發人員問題和支援,請在Microsoft Q & A 上使用 Windows 子系統 Android 版 標籤

其他資源