什么是Windows 11的安卓(Android™)應用
2021年6月25日,微軟召開線上發布會,對外宣告下一代Windows操作系統Windows 11,Windows 11為用戶重新打造的Microsoft Store,速度更快,采用了美觀易用的全新設計,並承諾首次將Android應用程序引入Windows。
2021年10月5日,微軟宣布將於2021年10月5日正式開始推送Windows 11,10月5日起,符合條件的Windows 10 PC將可免費升級到Windows 11,預裝Windows 11的各種全新PC設備也將開始上市發售,並宣稱期待通過與亞馬遜和英特爾的合作,繼續將Android應用程序帶到Windows 11和Microsoft Store,在隨后的幾個月中,該功能將首先面向Windows預覽體驗成員推出預覽版本。
2021年10月20日,微軟表示,Win11安卓子系統(Windows Subsystem for Android™
)能夠使Win11設備運行Amazon應用商店中的Android應用程序,已為開發者准備好了指南文檔。
2021年10月20日,微軟宣稱,Windows 11上Android ™應用程序的第一個預覽版現已提供給美國Beta頻道的Windows內部人員。
安卓(Android™)應用在Windows 11的體驗指南
- 用戶可以將安卓App固定到開始菜單或任務欄,並通過鼠標、觸摸或筆輸入與它們交互;
- 安卓App還可以集成到Alt+選項卡和任務視圖中,幫助用戶在App之間快速切換;
- 用戶可以在操作中心中查看來自安卓App的通知,或在Windows應用程序和安卓App之間共享剪貼板;
- 微軟還添加了無障礙體驗,許多Windows輔助功能設置都適用於安卓App。
首批推出的安卓(Android™)應用范圍
微軟與亞馬遜合作,為Windows內部人員首先推出了50款安卓App,以便在一系列硬件上進行測試和驗證。微軟將在未來幾個月通過Windows Insider程序發布更多的安卓App。
這50款App中包含:
- 手機游戲:《王國紀元》《瓊的旅程》《CoinMaster》等;
- 閱讀:Kindle App、漫畫App等;
- 兒童內容:Khan Academy Kids、Lego Duplo World等。
預覽體驗操作方法
如果你用手工安裝,可繞過微軟的灰度方案,在Windows 11的正式版、Beta通道、Dev通道都可以順利安裝和體驗。
- 電腦需要安裝在Windows 11(Build22000.xxxseriesbuilds)上,並滿足硬件要求;
- 用戶需要為電腦的BIOS/UEFI啟用虛擬化;
- 電腦的地區必須設置為美國;
- 電腦必須處於Win11 Beta頻道(Dev頻道將在后續支持);
- 用戶需要有一個美國亞馬遜帳戶才能使用亞馬遜應用商店;
- 然后點擊鏈接前往微軟應用商店進行安裝使用。
預覽體驗已知問題
微軟應用商店
- 應用商店不會顯示亞馬遜應用商店App的審查評級。
亞馬遜應用商店
- 如果遇到亞馬遜應用商店登錄問題,請關閉廣告攔截器。
- 使用亞馬遜應用商店時,輔助功能選項尚未啟用。
安卓子系統
- ARM64上的蜂窩LTE網絡接入有問題。
- ARM64上的某些App可能會看到顯示可視工件(displayvisualartifacts)。
- 運行多個App時,性能可能會有所不同。
- 某些App存在已知的攝像頭問題。
- 現代待機模式下的App將遇到問題。
安卓(Android™)應用在Windows 11的技術細節
Win11安卓子系統(Windows Subsystem for Android™
)包括Linux內核和基於Android開源項目(AOSP)版本11的Android操作系統。它作為Amazon App Store
安裝的一部分通過Microsoft Store
分發。該子系統在Hyper-V
虛擬機中運行,就像Linux子系統一樣,可以將AOSP環境中App的運行時和API映射到Windows圖形層、內存緩沖區、輸入模式、物理和虛擬設備以及傳感器,可以在英特爾、AMD、高通的CPU上運行。
安卓(Android™)應用在Windows 11的測試指南
- 設置你的開發環境,包括先決條件、安裝
Amazon App Store
,以及使用設置應用程序。 - 處理Windows設備的輸入兼容性問題,例如:鍵盤輸入、鼠標輸入以及窗口管理和大小調整。
- 在Windows 11設備上測試和調試你的應用程序。
- 向
Amazon App Store
提交應用程序。您的應用程序必須在Amazon App Store
中可用,才能在Windows 11設備上運行。
安裝Win11安卓子系統(Windows Subsystem for Android™,必選)
ms-windows-store://pdp/?productid=9P3395VX91NR
安裝包體積有1.2G,需要耐心等待哈。
- MicrosoftCorporationII.WindowsSubsystemForAndroid_1.8.32837.0_neutral___8wekyb3d8bbwe.Msixbundle - 正式通道
- MicrosoftCorporationII.WindowsSubsystemForAndroid_2203.40000.1.0_neutral___8wekyb3d8bbwe.Msixbundle - 預覽通道
用百度網盤直鏈:https://pan.baidu.com/s/1hsQo5nnk4Gx0QYW0UMnH8Q 提取碼:ia4o
可能會提示無法安裝。
不要緊,我們在開始菜單右鍵,使用Windows終端(管理員)命令進入,切換到安裝包所在目錄,執行如下安裝命令:
add-appxpackage "MicrosoftCorporationII.WindowsSubsystemForAndroid_1.7.32815.0_neutral___8wekyb3d8bbwe.Msixbundle"
安裝成功之后,你就可以在開始菜單看到綠色圖標的應用了
打開它,可以進入設置頁面。
點擊文件的右側箭頭,觸發一次啟動
如果提示無法啟動安卓子系統
那么前往系統設置界面,"應用" -> "可選功能" -> "更多Windows功能" => 勾選"Hyper-V"和"虛擬機平台",確定重啟系統即可
有些童鞋反饋自己的系統沒有Hyper-V這個勾選項,那是因為你是家庭版系統,必須先要升級到專業版或企業版才行,這是高級版本才有的功能項,分享兩個Windows 11家庭版升級專業版的Key。
8G7XN-V7YWC-W8RPC-V73KB-YWRDB
C38W9-KWNBH-M4HWH-746BK-H6DGY
這下真的可以看到安卓子系統的文件了。
內存占用感覺還好
為了方便本地調試,我們打開下開發者模式,方便我們通過adb本地調試。
安裝亞馬遜應用商店(Amazon App Store,可選)
ms-windows-store://pdp/?productid=9njhk44ttksx
Amazon.comServicesLLC.AmazonAppstore_0.0.1.0_neutral___bvztej1py64t8.Msixbundle,若失效請用百度網盤直鏈:https://pan.baidu.com/s/1MKUfgc3YovYYBu2o00VKCw 提取碼:
op4z
安裝方式:
- 從微軟商店安裝亞馬遜應用商店。
- 第一次從微軟商店安裝安卓或亞馬遜應用,這也將安裝亞馬遜應用商店。
安裝Windows子系統的vGPU驅動程序(可選)
由於考慮到WSA和WSL同根同源,之前微軟已經為WSL聯合各個顯卡廠商推出了能調用GPU加速的WSL專用顯卡驅動,那么如果想在安卓子系統中讓應用充分調用,那么我們可以嘗試安裝這些驅動。
你應該首先安裝與你的系統匹配的預覽驅動程序。這使你能夠使用虛擬GPU(vGPU)以便你可以從硬件加速OpenGL呈現中獲益。
a. NVIDIA
b. AMD
獲取安卓(Android™)應用
a. 微軟+亞馬遜官方商店獲取
亞馬遜應用商店(Amazon App Store
)將出現在Windows 11的開始菜單中,並在搜索時可用,提供一個精心策划的安卓應用目錄。
選擇“獲取”將開始安裝該應用程序,一旦成功完成安裝,將出現一個Windows通知。該應用程序也將出現在Windows開始、搜索和Windows程序列表中。
b. 安卓應用軟件官方網站獲取
如果你的亞馬遜應用商店(Amazon App Store
)尚未准備好,或者你從該商店找不到你所需要的安卓應用,那么通常來說,我們可以通過搜索引擎搜索該應用軟件的官方網站來獲取安裝文件。
通常,安卓應用的安裝文件后綴為.apk
,那么我們也可以把它作為關鍵詞來搜索。
以"支付寶"應用為例,搜索關鍵詞支付寶 apk
即可快速找到官網。
進入后,找到對應的Android版本,點擊即可啟動APK文件的下載。
部分應用軟件可能沒有在官網提供有效的下載連接,那么也可以通過從一些下載站來獲取,不過需要留意的是,盡量找到最新版本。
設置安卓(Android™)應用
要訪問Windows Subsystem for Android™
設置應用程序,請轉到:"開始菜單" > "所有應用程序" > Windows Subsystem for Android™
。“設置”應用程序可以用來調整以下設置。
打開后,進入安卓(Android™)子系統的設置界面
1. 文件
點擊"文件"右側的小箭頭圖標,即可進入安卓子系統的文件資管管理器。
展開右側的導航菜單,可以切換文件分類的位置。
2. 子系統屏幕閱讀器
如果觸摸輸入不工作,請確保子系統屏幕閱讀器被關閉。欲了解更多信息,請參見微軟支持:Android的Windows子系統的可訪問性。
3. 子系統資源
-
按需要:當選擇此選項時,子系統將在移動應用程序被打開時打開。由於子系統需要首先打開,移動應用程序可能需要更長的時間來打開。在第一個移動應用程序之后打開的移動應用程序可能不會受到影響。
-
持續:子系統總是准備好打開應用程序。由於它總是在后台打開,它將使用你的PC的更多內存和處理能力。
4. 可選診斷數據
如果打開此選項,會將安卓子系統運行的相關診斷數據發送給微軟進行分析,如果你沒有太多需要保護的隱私,可以打開此選項。
5. 開發人員模式
如果你要在Windows 11設備上本地調試你的安卓應用,那么需要將開發人員模式設置為"開啟"狀態,比如通過Adb側加載應用和聯調。
當開發人員模式被成功開啟,它將展示更多的連接信息,包括連接的IP和端口,處於同一個局域網的開發機器或者本機多可以使用它來連接。
如果你對安卓原生的開發人員調試選項有更多的需求,也可以點擊"管理開發人員設置",打開安卓子系統的開發設置窗口進行更多設置。
6. IP地址
如果你想要查看安卓子系統的IP地址,那么可以通過點擊這里的"刷新"按鈕來顯示它,不過前提是,安卓子系統目前處於開啟運行狀態。
7. 重置為默認值
如果你想一鍵還原你的安卓子系統的設置,可以點擊這里的"重置"按鈕。
8. 關閉適用於Android™的Windows子系統
安卓子系統也需要關機操作,如果你想主動關閉它,那么可以點擊這里的"關閉"按鈕。
安裝安卓應用之工具箱(WsaToolbox)
ms-windows-store://pdp/?productid=9PPSP2MKVTGT
備用下載:53828Makazeu.WSAToolbox_1.2.8.0_neutral___jdbvfq35mb6dw.Msixbundle
如果你看不懂"安裝安卓應用之旁加載(Adb SideLoad)"教程,那么目前已經有了一款工具箱應用,它可以可視化幫助你來完成應用的安裝。
安裝安卓應用之工具箱(WSATools)
ms-windows-store://pdp/?productid=9N4P75DXL6FG
備用下載:54406Simizfo.WSATools_0.1.56.0_neutral___f0x555vvp18ze.Msixbundle
意大利開發人員Simone Franco開發了一款Microsoft Store應用程序WSATools
,只需雙擊APK即可輕松完成。
這款應用的特點是:
- APK文件的資源管理器集成:雙擊並按安裝!
- APK安裝變得簡單:只需點擊一下即可。
- 無需安裝ADB並了解其命令。WSATools處理一切!
- 如果您的路徑中已經有platform-tools軟件包,它將使用該軟件包!
- 更多功能即將推出!
但是從實際測試來看,並非所有應用都可以順利加載,只有部分可以,還需要等待作者進一步更新了。
安裝安卓應用之旁加載(Adb SideLoad)
如果你的亞馬遜商店還沒准備好,那么我們也可以直接用APK在本地安裝,這里可能要熟悉一些adb命令,但是確實很香。
如果沒有ADB(Android調試橋)怎么辦?給你一個adb-full.zip 或備選platform-tools_r31.0.3-windows.zip,下載解壓后把壓縮包內所有文件丟到你的
C:/Windows
目錄即可。
a. 打開並設置好開發者模式
正如前面安裝環節介紹,要打開開發者模式,才可以實現本地安裝
b. 通過Windows終端進入Adb命令行模式
在Windows 11開始菜單圖標上右鍵,可以找到"Windows終端"菜單,點擊進入。
c. 切換到APK安裝包目錄
cd C:\Users\username\Downloads
d. 檢查Adb版本並且連接安卓子系統
adb version
adb connect 127.0.0.1:58526
這里端口號可能每個人不一樣,要以設置頁面為准
這里的是adb connect
是連接指定安卓調式地址指令前綴,,后面空格再跟具體安卓系統的IP+端口,這個信息會顯示在安卓子系統設置頁開發者模式那欄,正常開啟后會出現小字說明。
如果在這一步遇到拒絕連接,說明安卓子系統或許已經異常關閉了,我們可以點擊設置應用中的"關閉適用於Android的Windows子系統"對應的關閉按鈕,再點擊"文件"右側的箭頭按鈕,重新開啟一次,必要的話,還可以先關閉開發者模式,再開啟,確保它正常工作。
adb devices
這里的是adb devices
是顯示已連接的安卓設備,如果順利連上會顯示安卓子系統的,前提是要打開開發者模式哈。
e. 直接使用Adb命令進行安裝,例如支付寶
adb install .\alipay_wap_main.apk
這里的是adb install
是安裝指定應用文件的指令前綴,后面空格再跟具體安卓APK文件的路徑,這里.\
是代表當前目錄的意思。
f. 成功安裝,開始菜單找到安卓應用,啟動它
解決多設備連接導致的安裝失敗問題
如果你在"使用adb install命令安裝應用時遇到了錯誤提示"或者"使用WsaTools執行安裝過程中安裝時間無限期延長":
adb: error: failed to get feature set: more than one device/emulator
這個代表,你目前有多個設備連着,如果不指定的話,adb是不知道你這個動作要具體安裝到哪個設備的。
為什么會遇到這個情況呢?也許是因為你在用一些工具導致的,比如WsaTools這個工具,它默認會走
localhost:58526
來連接,但是Wsa的設置界面會告訴你,應該走127.0.0.1:58526
來連接,有開發背景的童鞋其實知道,實際上這本質是同一個位置,但是系統會認為這是兩個連接位置。
通過adb devices命令,我們就可以看到這個情況了:
要解決它,有兩種辦法。
a. 徹底不用手工命令,純用WsaTools這類工具
adb kill-server
先通過上訴命令,關閉調已有的所有adb連接,然后完全通過使用WsaTools這類工具來安裝應用即可,這時候只會出現localhost:58526
這一個連接。
這時候,WsaTools這類工具也是可以正常使用的。
b. 兼容手工命令,通過指定設備來執行安裝
adb devices
先通過Devices這個命令查看下已連接的設備,前面的名稱就是DeviceId。
adb -s $deviceId install $apkFilePath
安卓(Android™)應用在Windows 11的兼容指南
鍵盤輸入(Keyboard input)
對於由屏幕虛擬鍵盤輸入法(或IME)處理的文本輸入字段,例如EditText(Android文檔中的EditText類),應用程序應按預期運行。
對於框架無法預測的擊鍵,應用程序需要自己處理行為。如果這已經在應用程序中實現,則不需要額外的工作。
例如,某些游戲可能已經支持通過鍵盤(w
a
s
d
)、按鍵以及觸摸輸入方便移動。
開發人員在為Windows 11設備構建時應考慮的代碼更新的鍵盤輸入:
- 回車按鍵
- 方向鍵和Tab鍵導航
- 改變選中項的高亮顏色
- 基於Ctrl的快捷熱鍵組合
通過關注Android文檔來優化桌面設備上的這些鍵盤輸入方案:
鼠標輸入(Mouse input)
開發人員在為Windows 11設備構建時應考慮更新以下鼠標輸入的代碼:
- 右鍵單擊
- 輔助提示/懸停文本
- 懸停效果
- 鼠標滾輪動作
- 拖放
鼠標輸入,類似於鍵盤輸入,必須遵循官方的Android應用程序指南。這意味着使用與常數配對的類。了解有關如何通過關注 Android 文檔優化桌面設備上的這些鼠標輸入方案的更多詳細情況:InputDeviceSOURCE_MOUSE
窗口管理和改變大小(Window management and resizing)
與傳統的移動設備外形不同,在Windows 11上運行的Android應用程序可以自由調整大小,在調整大小時應該具有響應性,並且可以使用Windows 操作/手勢進行捕捉。
a. 最低屏幕要求
Windows 11 強制要求最低屏幕要求為720p分辨率(1280x720),屏幕大於9英寸。
b. 字符和間距
當窗口大小的縱橫比在顯示窗口的設備屏幕大小之間不對齊時,結果可能是Letterboxing(窗口比它高,或水平更長)或Pillarboxing(窗口更窄)比它寬,或垂直長)。結果是將條形放置在窗口的兩側以使其居中。這些條可能是淺色或深色主題,具體取決於所選的系統設置。這只會在Android 應用程序被捕捉或最大化時發生,允許Android應用程序利用Windows中豐富的捕捉功能並集成到窗口模型中。
c. 其他調整大小注意事項
在更新Android應用以在Windows 11設備上運行時,還應考慮以下有關窗口管理和調整大小的問題:
- 初始啟動大小
- 窗戶尺寸
- 內容邊界
- 自由調整大小
- 屏幕方向
按照Android文檔中的窗口管理指南,了解有關如何針對桌面設備上的窗口大小調整方案進行優化的更多信息。
虛擬機生命周期注意事項
適用於Android的Windows子系統利用虛擬機(VM),該虛擬機提供與AOSP框架和鍵盤、鼠標、觸摸、筆等設備的兼容性。
使用適用於Android的Windows子系統運行應用程序的VM有三種可能的狀態:
- 運行中
- 輕量級休眠,在
3
分鍾內沒有應用活動后激活。由用戶活動或應用程序通知停用。 - 停止運行,在
7
分鍾內沒有應用活動后激活。
這些狀態之間的轉換由用戶活動觸發,例如啟動或與Android應用程序或應用程序通知交互。Android應用程序會在窗口最小化時暫停然后停止。
安卓應用的商店分發
為了在Windows 11設備上提供,必須向亞馬遜應用商店發布Android應用程序。目前,只有微軟和亞馬遜選擇的一小套應用程序可用。
開發人員應參考亞馬遜設備定位指南,了解有關將APK定位到特定設備的信息。
編譯通用安卓安裝包
適用於安卓的Windows子系統內置了一個將ARM應用跑在X86架構的解決方案,但是這個仿真層將會帶來額外的性能開銷,為了獲得最佳的性能,建議編譯和發布時提交x86、X64架構的程序包。
關於安卓子系統的卸載說明
您可以卸載適用Android的Windows子系統,但請注意,所有關聯的應用程序也將被卸載。
- 卸載"亞馬遜應用商店"將卸載適用於Android的Windows子系統和所有其他亞馬遜應用。
- 卸載"Amazon Appstore應用程序"只會卸載該應用程序(與Windows應用程序的行為相同)。
- 卸載"適用於Android的Windows子系統"將卸載Amazon Appstore和所有Amazon應用程序。
題外,Windows 10安裝安卓子系統(WSA)
前面,我們下載了最新版的Win11安卓子系統(Windows Subsystem for Android™
)的安裝包MicrosoftCorporationII.WindowsSubsystemForAndroid_1.7.32815.0_neutral_~_8wekyb3d8bbwe.msixbundle
,我們不直接雙擊它,我們用壓縮軟件打開它。
我們發現,這里面不過也就打包了X64和ARM兩個架構的子安裝包。
我們把其中的WsaPackage_1.7.32815.0_x64_Release-Nightly.msix
,單獨解壓出來。
然后我們再次通過壓縮軟件,把這個.msix
全部解壓處理。
進入解壓后的文件夾,然后找到其中的AppxManifest.xml
文件,找個編輯器打開它。
我們發現這里,從本質來說,其實就是靠Dependencies
節點下的這個Windows.Desktop
的這個最小版本10.0.22000.120
來限制安裝的,我們直接改成Win10的版本號即可。
這里,以Window 10的最新長期支持版1809為例,所以它的最小版本號應該設置為10.0.17763.0
,修改之后保存。
然后我們在Capabilities
節點刪除以下信息:
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="unvirtualizedResources" />
<rescap:Capability Name="packagedServices" />
<rescap:Capability Name="localSystemServices" />
<rescap:Capability Name="packageManagement" />
<rescap:Capability Name="packageQuery" />
<!-- 刪除 -->
<rescap:Capability Name="customInstallActions" />
<uap4:CustomCapability Name="Microsoft.classicAppInstaller_8wekyb3d8bbwe" />
</Capabilities>
然后在Extensions
節點刪除以下信息:
<Extensions>
<!-- 刪除 -->
<desktop6:Extension Category="windows.customInstall">
<desktop6:CustomInstall Folder="CustomInstall" desktop8:RunAsUser="true">
<desktop6:RepairActions>
<desktop6:RepairAction File="WsaSetup.exe" Name="Repair" Arguments="repair" />
</desktop6:RepairActions>
<desktop6:UninstallActions>
<desktop6:UninstallAction File="WsaSetup.exe" Name="Uninstall" Arguments="uninstall" />
</desktop6:UninstallActions>
</desktop6:CustomInstall>
</desktop6:Extension>
...
</Extensions>
接下來,我們用命令行的方式來安裝它,這里需要指定這個AppxManifest.xml
文件進行安裝,在開始菜單右鍵,以管理員權限運行你的PowerShell之類的Windows終端。
add-appxpackage -register "D:\Wsa\WsaPackage_1.7.32815.0_x64_Release-Nightly\AppxManifest.xml"
順利的話,你就可以看到綠色圖標的Win11安卓子系統(Windows Subsystem for Android™
)了
Windows 11 / WSA 愛好者交流群
參考
- Win11 安卓子系統要來了,微軟宣布將面向 Beta 通道開啟測試(附攻略)
- 微軟發布“Win11 安卓子系統”開發者文檔:亞馬遜商店最初只有一小部分安卓程序可用
- 微軟 Win11 安卓子系統已支持運行IT之家、支付寶等 APK 應用(附手動側載安裝教程攻略)
- Android調試橋
- SDK Platform Tools 版本說明
- 教你如何在 Windows 11 上運行 Android 應用程序
- 微軟 Win11 子系統安裝運行安卓 App 快速體驗視頻:性能良好,內存占用可控,可調整窗口大小
- Win11新工具,輕輕松松幫你安裝任何安卓APK應用
- Windows Subsystem for Android™️
- Get started with native Android development on Windows
- Amazon and Microsoft announce next steps for bringing the Amazon Appstore to Windows customers