Windows Subsystem for Android™️
Windows Subsystem for Android™️ 可讓您的 Windows 11 裝置執行 Amazon Appstore 中提供的 Android 應用程式。 Android 是 Google LLC 的商標。 如果您是想要以 Windows 桌面裝置為目標並針對 Windows 作業系統進行最佳化的開發人員,請參閱本指南。
重要
Microsoft 將停止支援 Windows Subsystem for Android™️ (WSA)。 因此,自 2025 年 3 月 5 日起,將不再支援 Windows 上的 Amazon Appstore 以及依存於 WSA 的所有應用程式和遊戲。 在此之前,客戶仍可獲得技術支援。
2024 年 3 月 5 日之前安裝了 Amazon Appstore 或 Android 應用程式的客戶,在 2025 年 3 月 5 日取代日期之前仍可繼續存取這些應用程式。 如有其他疑問,請透過 support.microsoft.com 與我們的支援小組連絡。
我們非常感謝開發人員社群的支援,並將繼續致力於聽取意見反應,不斷改良體驗。
若要讓您的 Android 應用程式可在 Windows 11 裝置上使用,您必須:
如需詳細資訊或支援:
- 註冊 Windows 程式上的 Amazon Appstore 更新。
- 造訪 Amazon 開發人員支援入口網站,您可以在其中找到文章、論壇、常見問題,或在您設定 Amazon Developer 帳戶之後,透過 Appstore「與我們連絡」頁面取得直接支援。
本指南可協助您在 Windows 上測試及偵錯 Android 應用程式:
- 設定您的開發環境,包括必要條件、安裝 Amazon Appstore,以及使用 [設定]。
- 在 Windows 11 裝置上測試及偵錯您的應用程式。
- 處理 Windows 裝置的輸入相容性考量,例如:鍵盤輸入、滑鼠輸入,以及視窗管理和調整大小。
- 疑難排解及尋找解答。
開發人員 GitHub
想要深入了解 Windows Subsystem for Android™️ 藍圖、討論開發人員問題及向子系統小組提出錯誤或功能要求嗎? 造訪 Windows Subsystem for Android™️ 開發人員 GitHub。
預覽計畫
適用於 Android™️ 的 Windows 子系統預覽計畫已不再提供。
設定開發環境
若要在 Windows 桌面環境中測試 Android 應用程式,需要一些設定。
必要條件
Windows Subsystem for Android™️ 可在 Windows 11 上使用。 您的裝置必須符合特定需求:裝置需求。
安裝 Amazon Appstore
採取下列兩個使用者動作之一時,Microsoft Store 會自動在背景中以無訊息方式安裝 Windows Subsystem for Android™️:
- 從 Microsoft Store 安裝 Amazon Appstore。 選取 [取得] 將會開始安裝應用程式。
- 第一次從 Microsoft Store 安裝 Android 應用程式時,也會安裝 Amazon Appstore。
Amazon Appstore 應用程式接著會顯示在 Windows 11 [開始] 功能表中且可搜尋得到,並提供 Android 應用程式的目錄。 可讓您控制行動裝置應用程式設定和功能的 Windows Subsystem for Android™️ 應用程式也會顯示在 [開始] 功能表中。
注意
Windows 上的 Amazon Appstore (在 Windows 11 上執行 Android 應用程式的必要條件) 可在特定區域使用。
Windows Subsystem for Android™️ ️設定
若要修改 Windows Subsystem for Android™️ 設定,請移至:[開始] > [所有應用程式] > [Windows Subsystem for Android™️]。 深入了解特定設定應用程式功能:管理 Windows 行動裝置應用程式的設定。
測試與偵錯
若要使用 Windows Subsystem for Android™️ 在 Windows 11 裝置上測試及偵錯您的應用程式,需要下列設定步驟。
在 Windows 設定中啟用開發人員模式
您必須先啟用開發人員模式。 開啟Windows Subsystem for Android™️ 設定。️ 開啟之後,啟用 [進階設定] 底下的 [開發人員模式]。
連線到 Windows Subsystem for Android™️ 進行偵錯
若要連線到 Windows Subsystem for Android™️ 進行偵錯:
啟動使用 Amazon Appstore 安裝的 Android 應用程式。
您可以使用 adb connect 透過下列命令進行連線 (您必須已安裝 adb):
adb connect 127.0.0.1:58526
連線到測試裝置
若要從 Windows/Mac 連線到相同網路上的測試裝置 (已安裝 Windows Subsystem for Android™️):
在測試裝置 (已安裝 Windows Subsystem for Android™️) 上開啟 PowerShell 視窗,並執行以下命令來識別測試裝置的 IP 位址:
ipconfig
在已安裝 Android Studio 和 Android SDK 的偵錯裝置終端機 (Mac/Windows) 輸入命令:
adb connect <TEST DEVICE IP ADDRESS>:58526
您可以在測試裝置的「ipconfig」輸出中找到 <TEST DEVICE IP ADDRESS>
。 您也可以從 Android Studio 部署及偵錯應用程式。
若要使用 Android Debug Bridge (ADB) 將開發工作站直接連線到 Android 裝置以便安裝套件及評估變更,請參閱 Android 開放原始碼專案文件中的 Android Debug Bridge。
偵錯應用程式
雖然應使用 Amazon Appstore 安裝應用程式,但可以使用 APK (Android 應用程式套件) 和 adb (Android Debug Bridge) 在 Windows 裝置上偵錯 Android 應用程式。
若要使用 adb 對 APK 進行偵錯:
請依照上述步驟連線到 Windows Subsystem for Android™️ VM。
使用 adb install 命令安裝 APK:
adb install app-debug.apk
預期輸出:
Performing Streamed Install Success
Windows 通知功能表中將顯示「已成功安裝應用程式」通知,應用程式會在選取之後啟動。
建置通用 APK
Windows Subsystem for Android™️ 利用 Intel Bridge Technology 在 x86 處理器上啟用 ARM 應用程式。 ARM 應用程式會以原生方式在 ARM 型處理器上執行。 模擬層會產生效能額外負荷,為了達到最佳效能,請針對 x86-64 和 Arm64 架構提交您的應用程式。
Windows 裝置的輸入相容性考量
您也需要考量一些獨特的輸入行為,這些行為可能需要更新專為手持裝置設計的 Android 應用程式程式碼,使其能與透過 Amazon Appstore 在 Windows 桌面裝置上執行時相容。
鍵盤輸入
針對由螢幕虛擬鍵盤輸入法 (或 IME) 處理的文字輸入欄位,例如 EditText
,應用程式應如預期般運作。 (Android 文件中的 EditText 類別)。
針對架構無法預期的按鍵輸入,應用程式必須自行處理該行為。 如果已在應用程式中實作,則不需要執行額外的工作。
例如,某些遊戲可能已經支援透過鍵盤上的 w
a
s
d
鍵以及觸控輸入來方便移動。
為 Windows 11 裝置建置時,開發人員應考量更新下列鍵盤輸入的程式碼:
- 輸入金鑰
- 方向鍵和 Tab 鍵瀏覽
- 變更選取的項目醒目提示色彩
- 以 Ctrl 為基礎的快速鍵
請參閱 Android 文件中的以下內容,深入了解如何在桌面裝置上最佳化這些鍵盤輸入案例:
滑鼠輸入
為 Windows 裝置建置時,開發人員應考量更新下列滑鼠輸入的程式碼:
- 按滑鼠右鍵
- 工具提示/暫留文字
- 暫留效果
- 滑鼠滾輪動作
- 拖放功能
滑鼠輸入與鍵盤輸入類似,必須遵循官方 Android 應用程式指導方針。 這表示需要將 InputDevice
類別與 SOURCE_MOUSE
常數配對使用。 請參閱 Android 文件中的以下內容,深入了解如何在桌面裝置上最佳化這些滑鼠輸入案例:
視窗管理和調整大小
與傳統的行動裝置尺寸不同,在 Windows 11 上執行的 Android 應用程式可以自由調整大小,在調整大小時應迅速回應,而且可以使用 Windows 動作/手勢來貼齊。
畫面最低需求
Windows 11 強制要求最低 720p 解析度 (1280x720),且螢幕尺寸最小 >9 英吋。
寄信箱 & 柱形箱
視窗大小的外觀比例與顯示視窗的裝置螢幕大小不一致時,可能會導致 Letterboxing (視窗的寬度大於高度,或在水平方向較長) 或 Pillarboxing (視窗的寬度小於高度,或在垂直方向較長)。 這樣一來,為了使視窗保持居中,就會在其兩側放置橫條。 根據選取的系統設定而定,這些橫條可能是淺色或深色。 只有在貼齊或最大化 Android 應用程式時,才會發生這種情況,這讓 Android 應用程式能夠利用 Windows 中豐富的貼齊功能,並整合到視窗化模型中。
其他調整大小考量
在更新 Android 應用程式以在 Windows 11 裝置上執行時,也應考量下列關於視窗管理和調整大小的事項:
- 初始啟動大小
- 視窗維度
- 內容邊界
- 自由格式調整大小
- 螢幕方向
若要深入了解如何在桌面裝置上最佳化視窗調整大小案例,請參閱 Android 文件中的視窗管理指南。
應用程式生命週期事件
針對多視窗環境開發 Android 應用程式會影響您選擇在應用程式中使用的生命週期事件。 雖然覆寫 onPause
事件可能會達到您在手機或平板電腦上想要的結果,但如果變更應用程式的 UX,則使用該事件通常是錯誤。
如需生命週期事件的說明,請參閱 Android 文件。 通常,您需要使用 onStop
事件,而不是 onPause
或 onUserLeaveHint
事件。 事實上,許多多視窗 Android 實作不會傳遞 onUserLeaveHint
通知,因此在這些平台上,可能不會呼叫任何可能在該事件處理常式中的任何業務關鍵邏輯,包括 Windows Subsystem for Android™️。
VM 生命週期考量
Windows Subsystem for Android™️ 利用可與 AOSP 架構 和鍵盤、滑鼠、觸控、手寫筆等裝置相容的虛擬機器 (VM)。
使用 Windows Subsystem for Android™️ 執行應用程式的 VM 有三種可能的狀態:
- 執行中
- Lightweight Doze:持續 3 分鐘沒有應用程式活動後啟用。 由使用者活動或應用程式通知停用。
- 未執行:持續 7 分鐘沒有應用程式活動後啟用。
這些狀態之間的轉換會由使用者活動觸發,例如啟動或與 Android 應用程式或應用程式通知互動。 Android 應用程式會暫停,然後在視窗最小化時停止。
VM 屬性
Windows Subsystem for Android™️ VM 屬性如下所列。 不建議對這些值硬式編碼,因為這可能會導致未來的不相容。
屬性 | 值 |
---|---|
Build.MANUFACTURER | Microsoft Corporation |
Build.MODEL | 適用於 Android(TM) 的子系統 |
Build.VERSION.SDK_INT | 33 |
Build.BOARD | windows |
重新導向至 Windows 應用程式
Windows Subsystem for Android™️️ 會自動將檔案和常見 URI 配置的意圖重新導向至對應的 Windows 預設檔案/通訊協定處理常式 (如果多個意圖篩選條件相符,使用者會在選擇器對話方塊中看到 [Windows 預設應用程式] 選項)。 支援的檔案意圖包括 ACTION_VIEW、ACTION_EDIT、ACTION_SEND 和 ACTION_SEND_MULTIPLE,其在開啟檔案之前,會先將檔案複製到 Windows Downloads 資料夾。 支援的 URI 意圖包括 http/https 配置的 ACTION_VIEW,以及 mailto 配置的 ACTION_VIEW 和 ACTION_SENDTO。
Android 應用程式也可以使用自訂 URI 配置手動重新導向至 Windows 應用程式。 將意圖動作設定為 com.microsoft.windows.LAUNCH_URI
,並將字串擷取新增至名為 com.microsoft.windows.EXTRA_URI
以自訂 URI 作為值的意圖。 例如,若要從 Android 應用程式 (Java) 啟動 Windows 小算盤應用程式:
Intent intent = new Intent("com.microsoft.windows.LAUNCH_URI");
intent.putExtra("com.microsoft.windows.EXTRA_URI", "ms-calculator:");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Not running in Windows Subsystem for Android™️ (or running on an older build that did not contain this feature).
}
安全性
Windows 核心模式驅動程式和以中等完整性層級 (IL) 執行的 Windows 應用程式都可以檢查任意 Android 容器和 Android 應用程式記憶體。 短期內沒有新增作弊/巨集/機器人/可疑行為偵測的計畫。
查詢 getSecurityLevel
的開發人員將取得 SECURITY_LEVEL_SW_SECURE_CRYPTO
。 在 Android API 參考指南中深入了解 getSecurityLevel
。
安裝 Windows Subsystem for Android™️
您可以解除安裝 Windows Subsystem for Android™️,但請注意,所有相關聯的應用程式也會解除安裝。
- 解除安裝 Amazon Appstore 將會解除安裝 Windows Subsystem for Android™️ 和其他所有 Android 應用程式。
- 解除安裝 Amazon Appstore 應用程式只會解除安裝應用程式 (與 Windows 應用程式的行為相同)。
- 解除安裝 Windows Subsystem for Android™️ 將會解除安裝 Amazon Appstore 和所有 Android 應用程式。
疑難排解問題
如果您在 Windows 上遇到 Amazon Appstore 特有的問題,請嘗試下列疑難排解步驟:
- 從 Windows 工作列選取 [Windows 搜尋]。
- 搜尋「Amazon Appstore」,並以滑鼠右鍵按一下 Amazon Appstore 圖示。
- 在下拉式清單中選取 [應用程式設定]。
- 選取 [儲存體和快取],然後按一下 [清除儲存體] 和 [清除快取]。
- 返回並選取 [強制停止]。
- 關閉 [Amazon Appstore 設定] 視窗。
- 重新啟動 Amazon Appstore。
如需有關 Windows Subsystem for Android™️ 的設定應用程式的進一步疑難排解步驟,或使用意見反應中樞留下意見反應,請參閱 Windows 上行動裝置應用程式的疑難排解和常見問題。
有關其他開發人員問題和支援,請使用 Microsoft Q&A 上的 Windows Subsystem for Android™️ 標籤。