移動開發時代,這句話曾成為很多開發者夢寐以求的願望,這也是 Flutter、React Native 等諸多跨平臺工具出現的根本原因。但是彼時所謂跨平臺跨更多的是 Android 和 iOS 平臺。
那如果,Android 程式碼放到桌面作業系統 Windows 上是否能夠執行?
或許在不久的將來,一切皆有可能。
近日,據 Windows Central 報道,微軟正在研究一種能在 Windows 10 上執行 Android 應用程式的方法,且無需修改任何程式碼,同時,將 Android 應用程式打包成 MSIX 檔案,Windows 應用商店可對此進行分發。而對於這一專案,據外媒透露,微軟內部將其稱之為“Project Latte”,也有知情人士稱,這一專案最早將在 2021 年上線。
WSL 或支援 Android 應用程式
在 Windows 桌面作業系統下,作為使用者的你可以輕鬆玩轉 Android 應用。這聽起來似乎很簡單,但是應用的移植,做起來並沒有那麼容易,從蘋果秘密自研 M1 晶片多年就可以看出。
事實上,此前為了擁抱 Linux,微軟帶來了黑科技——WSL(Windows 下的 Linux 子系統)。在去年的微軟 Build 2019 上,微軟正式釋出了 WSL 2,它基於 Hyper-V 功能的子集提供了“真正的 Linux 核心”。透過 WSL 2,開發者可以輕鬆地使用 Windows 命令列訪問 Linux 檔案系統。另外,微軟還在測試使用 WSL 2 支援 Linux GUI 應用程式以及提供 GPU 加速支援。
因此,Android 應用程式如果想要在 Windows 10 上執行,那麼,基於 Linux 核心的 Android 有望會被插入 WSL 中,而這一舉措的前提是,微軟需要實現一個版本的 Android Runtime(ART),它必須擁有開源、可在 Linux 上執行、x86 相容等特性。對此,也有網友已經開始搶先嚐試中,並構建了一個名為 Anbox 的專案,它可以在 WSL 上執行 Android 應用程式。
微軟過往的“搭橋”計劃
如果瞭解微軟的從業者或許知道,這並非微軟首次嘗試將 Android 應用程式跑在 Windows 上。
還記得幾年前,微軟曾面向開發者帶來過“搭橋”計劃,彼時一共有四大專案:
Project Westminster——用於移植 Web 應用程式Project Centennial——用於移植 Win 32 應用程式Project Islandwood——用於移植 iOS 應用程式Project Astoria——用於移植 Android 應用程式微軟此舉的目的是,想要彌補 Windows 和 Windows Phone 上的“應用差距”。這樣一平臺可以執行多種程式,看起來對使用者有益而無害,但是萬萬沒想到的是引發當時一大批 Windows 開發者的不滿。而不滿的原因主要歸根於在 Windows 平臺上用於執行 Android 應用程式的 Astoria 專案。
對於 Astoria 專案,微軟官方曾經公開的訊息並不多。但是據外媒報道,Astoria 相當於一個 Android 模擬器,使用者可以使用移動手機直接執行 Android APK 檔案,而不需要開發者多做一些其他的工作。不過,有不少人認為,這專案一旦普及開,不僅會讓應用程式盜版變得更加容易,而且還削弱了 Windows 開發人員的利益,因為 Android 應用程式可以輕鬆的在 Windows 上執行,那麼 Windows 開發者的飯碗可能不保,畢竟也沒有理由再去開發本地的 Windows 應用程式。
正因此,Astoria 專案一直沒有公開測試,後來也因 Astoria 專案直接相當於一個 Android 虛擬機器,這樣容易帶來技術糾紛以及也存在一些法律潛在隱患,最終這一專案被微軟擱置直至後來被取消。如今微軟決定再新造 Project Latte 專案,並提供類似的功能,這不禁讓我們好奇,微軟做好了哪些準備?
Windows 為什麼要支援 Android?
近幾年來,微軟各種內外部的大動作無不在彰顯自己正在加快數字化轉型的步伐。
面向內部,2018 年,微軟 CEO 納德拉宣佈,公司迎來重大重組計劃,建兩個新部門,即“體驗與裝置”部門和“雲計算與人工智慧平臺”部門。根據職能劃分,體驗與裝置部門涵蓋 Windows、Office 及微軟 365 相關第三方應用和裝置體驗。AI 與雲計算部門將推動分散式計算(雲計算及邊緣計算)、AI 技術的商業化應用。這一重組動作也被外界解讀為 Windows 作為微軟曾經的頂樑柱業務正逐步被邊緣化。
面向外部,微軟以 75 億美元收購 GitHub、擁抱 Linux、深度參與開源,我們正親眼見證著微軟的改變。
正是在這樣的改變中,和過去相比,現在 Windows 使用者量雖然依舊龐大,但聚焦於建立 UWP 應用程式的 Windows 開發者也所剩無幾。
因此微軟想要讓 Windows 10 支援 Android 應用程式,一方面,或是為彌補微軟應用商店“應用空白”。 此外,為了讓開發者能夠更專注並降低開發成本,在今年 Build 2020 上,微軟釋出了團圓計劃(Project Reunion),該專案主要是統一 Win 32 程式(舊版 Windows API)和 UWP 應用的 API,並透過注入 NuGet 之類的工具將其與系統分開執行,旨在讓開發者在 Windows 10 裝置上統一應用程式開發。
另一方面,更好構建自己的核心競爭力
幾年前,微軟開始開發一個簡化和封閉的 Windows 版本 Windows 10X,它是一款雙屏裝置作業系統,同時也支援傳統膝上型電腦。針對 Windows 10X,微軟一直將其戰略定位為 Chrome 作業系統的競爭者,尤其是在教育和企業市場上。
作為 Google 的產品,以 ChromeOS 為基礎的 Chromebook 可以執行 Android 應用,因此 Windows 10X 電腦或也會支援 Android 應用程式。
其他人做的一些嘗試
在業界的經驗積累方面,實際上,微軟也並不是第一個想用自己的作業系統支援 Android 應用程式的企業。
正如上文所述,Google 在研發 Chrome 作業系統中,使用者使用 Google Play 商店可以在多款 Google Chromebook 上安裝 Android 應用程式。
此外,RIM 公司(黑莓手機制造商)曾試圖在黑莓 10 系統中增加對 Android 程式的支援,以增強自己在 OS 市場的競爭力,但是它最終放棄了;曾有著“Android 殺手”的三星的 Tizen 作業系統具有“應用程式相容性層”,可在基於 Linux 的作業系統上執行 Android 應用程式。對於不少企業而言,通常將 Android 應用視為解決應用差距的一種解決方案。
最後,如果真的在 2021 年秋季正式釋出了 Latte 專案,將 Android 應用程式引入 Windows 10 作業系統上,那麼 Windows 既能支援 Android,又有了 WSL 的基礎執行 Linux,那麼其將成為真正意義上的通用作業系統。
相關內容
- 中國產作業系統的希望,被稱“中國版微軟”,UOS能否替代Windows?
- 微軟Windows海報新發現:Logo夾角為11°,暗示Win11
- 如果Windows 10是微軟最後一代系統,Win 10以前的系統全部消失要多久?
- 如果微軟推出Windows Phone摺疊屏裝置,它大概是個什麼樣子?
- Android手機上可以執行Windows 10系統嗎?
- Windows 7停止支援之後,微軟會如何處理MSE?
- 除了微軟的windows系統外,還有別的系統嗎?
- 微軟優化了Chromium在Windows 10上的哪些新特性?
- 如何利用微軟Powershell實現Windows中重新命名多個檔案的操作?
- 微軟開始培訓機器學習Windows 10更新了嗎?