文丨航通社,作者丨書(shū)航
2000 年 10 月,一位復(fù)旦大學(xué)的老師辭去教職,走進(jìn)英特爾在上海的辦公室。十多年后,他帶領(lǐng)英特爾上海團(tuán)隊(duì)研發(fā)出的關(guān)鍵技術(shù),讓我們可以用裝有 x86 處理器的個(gè)人電腦,運(yùn)行原本只能在 ARM 架構(gòu)上跑的 Android 系統(tǒng)。
這一技術(shù)在市面上絕大多數(shù)的“安卓模擬器”里都能見(jiàn)到。2021 年,以該技術(shù)為基礎(chǔ),英特爾聯(lián)手微軟,宣布在即將問(wèn)世的 Windows 11 上實(shí)現(xiàn)原生兼容安卓應(yīng)用。
在本文中,社長(zhǎng)將帶你了解這位英特爾中國(guó)工程師的經(jīng)歷和創(chuàng)造,回顧這項(xiàng)溝通 Windows 與 Android 的關(guān)鍵技術(shù)是如何誕生的,以及在 Windows 11 里面它將怎樣影響我們未來(lái)的生活。
北京時(shí)間 6 月 25 日,在 Windows 11 發(fā)布會(huì)上,微軟 Windows 部門(mén)負(fù)責(zé)人帕諾斯·帕奈宣布,Windows 11 將會(huì)支持在微軟商店中直接下載和安裝 Android 應(yīng)用。此后,微軟內(nèi)部人士又確認(rèn)用戶可以自行安裝 APK 格式的安裝包,也就是“旁加載”安卓應(yīng)用。
演示以抖音海外版(Tik Tok)作為例子,展示了無(wú)需安裝額外的模擬器,Android 應(yīng)用將以標(biāo)準(zhǔn)窗口模式運(yùn)行,并兼容鼠標(biāo)和觸控手勢(shì),其運(yùn)行效率也將有保證,不會(huì)卡頓。
這次兼容 Android 應(yīng)用,微軟是跟英特爾合作,采用了英特爾名為“Bridge”的新技術(shù)。會(huì)后,英特爾很快就出了一篇新聞稿,來(lái)更詳細(xì)的解釋 Bridge 的內(nèi)涵。
“英特爾 Bridge 技術(shù)是一種運(yùn)行時(shí)后期編譯器(runtime post-compiler),能夠讓移動(dòng)應(yīng)用在基于 x86 的設(shè)備上以‘原生應(yīng)用’形態(tài)運(yùn)行,包括在 Windows 上運(yùn)行。通過(guò)將領(lǐng)先的 CPU 核心、圖形顯卡技術(shù)、人工智能加速器、圖形處理器等組件集成到單個(gè)經(jīng)過(guò)驗(yàn)證的解決方案中,英特爾的多架構(gòu) XPU 策略可為合適的工作負(fù)載提供合適的引擎。”
說(shuō)白了,這個(gè) Bridge 就是起到了“安卓模擬器”或“虛擬機(jī)”的作用,但因?yàn)樵\(yùn)行的緣故,效率會(huì)更高。而且攝像頭、網(wǎng)絡(luò)、傳感器等都可以直接調(diào)用本機(jī)硬件,避免卡頓或者兼容性問(wèn)題。
英特爾 Bridge 與華為“方舟編譯器”以及蘋(píng)果為 M1 芯片準(zhǔn)備的“Rosetta 2”性質(zhì)相同,但與 Rosetta 2 的編譯方向相反,后者是從 x86 編譯到 ARM 架構(gòu)。
Windows 11 是第一個(gè)采用英特爾 Bridge 技術(shù)的產(chǎn)品,但未來(lái) Bridge 會(huì)擴(kuò)展到 Windows 之外。至于 AMD 用戶也不用擔(dān)心,微軟表示Bridge 技術(shù)在所有的 x86 處理器上都適用。
Bridge 并非從天而降,諸多開(kāi)發(fā)者一看到就覺(jué)得十分眼熟。這讓他們想起了英特爾 Houdini 技術(shù),那是將原本基于 ARM 架構(gòu)開(kāi)發(fā)的 Android 操作系統(tǒng)移植到 x86 架構(gòu)的關(guān)鍵部件。
Houdini 于 2014 年推出,是英特爾嘗試踏足移動(dòng)處理器領(lǐng)域,尋求 x86 手機(jī)處理器與安卓融合的產(chǎn)物。當(dāng)時(shí)它局限于安卓應(yīng)用在 x86 平臺(tái)的運(yùn)行,而現(xiàn)在的 Bridge 則強(qiáng)調(diào)其他平臺(tái)向 x86 平臺(tái)的遷移。
![]()
更值得一提的是,Houdini 是英特爾中國(guó)團(tuán)隊(duì)獨(dú)立開(kāi)發(fā)的。它從項(xiàng)目發(fā)起,概念驗(yàn)證,原型到最后的產(chǎn)品化,都由英特爾位于上海的研發(fā)團(tuán)隊(duì)完成。
引領(lǐng) Houdini 項(xiàng)目開(kāi)發(fā)的靈魂人物是李劍慧博士,他是英特爾架構(gòu)、圖形和軟件事業(yè)部的首席工程師,負(fù)責(zé)領(lǐng)導(dǎo)深度學(xué)習(xí)框架集成和工作負(fù)載優(yōu)化工作。如英特爾官網(wǎng)介紹:
“他曾是二進(jìn)制翻譯和 JIT 編譯器方面的軟件開(kāi)發(fā)人員,領(lǐng)導(dǎo)開(kāi)發(fā)了 Houdini。李劍慧畢業(yè)于復(fù)旦大學(xué),獲得了計(jì)算機(jī)科學(xué)博士學(xué)位。他在二進(jìn)制翻譯和實(shí)際應(yīng)用優(yōu)化方面擁有 21 項(xiàng)美國(guó)專(zhuān)利。”
李劍慧早年是復(fù)旦大學(xué)并行處理研究所講師,2000 年 10 月加盟英特爾軟件解決方案事業(yè)部,一直在上海 SSG 研發(fā)團(tuán)隊(duì)工作,為 IA-32 & 執(zhí)行層產(chǎn)品核心開(kāi)發(fā)人員。
資料顯示,Houdini 技術(shù)成功解決了英特爾安卓平臺(tái)上的應(yīng)用程序兼容性問(wèn)題,也讓李劍慧獲得了“英特爾成就獎(jiǎng)”。
初到英特爾,李劍慧接到的第一個(gè)項(xiàng)目是“二進(jìn)制編譯”,負(fù)責(zé)質(zhì)檢、軟件性能開(kāi)發(fā)和調(diào)試等基礎(chǔ)工作,也到客戶公司駐場(chǎng)。為幫助 SAP 做 Java 編譯器,李劍慧在 SAP 總部“駐扎”了兩個(gè)多月,“SAP 的工作人員都以為我是他們的人了。”
這段經(jīng)歷讓他從項(xiàng)目小組的普通工程師提升為項(xiàng)目經(jīng)理。此后的 2005-2008 年,他進(jìn)入 XML 項(xiàng)目和開(kāi)發(fā)團(tuán)隊(duì),并據(jù)此進(jìn)一步發(fā)展為軟件架構(gòu)師。李劍慧向各大軟件廠商輸送軟件開(kāi)發(fā)的管理技術(shù),與本土的相關(guān)的軟件園項(xiàng)目的合作伙伴分享團(tuán)隊(duì)建設(shè)、項(xiàng)目管理方面的技術(shù)。
2010 年英特爾中國(guó) 25 周年時(shí),他也獲得了“英特爾年度最佳員工獎(jiǎng)”。官方形容他是“熱衷于培養(yǎng)人才的軟件經(jīng)理,大家都親切地稱(chēng)他為‘李老師’。”
李劍慧提到,一次自己提交月度報(bào)告因不夠詳盡受到上司批評(píng),這件小事對(duì)他的思維方式產(chǎn)生了很大影響。他意識(shí)到,工作的重要性不在于花了多長(zhǎng)時(shí)間,而在于其結(jié)果會(huì)產(chǎn)生怎樣的影響,這也就是英特爾倡導(dǎo)的“結(jié)果導(dǎo)向”價(jià)值觀。
而做出 Houdini 并在全球范圍采用,無(wú)疑是諸多“結(jié)果導(dǎo)向”中至關(guān)重要的一項(xiàng)成果,讓李劍慧走到英特爾“首席工程師”的位置上。根據(jù) LinkedIn 信息,他現(xiàn)在常駐位于圣何塞的英特爾總部。
![]()
李劍慧在GitHub的頭像
在我們注意不到的地方,Houdini 可能已經(jīng)悄然派上了用場(chǎng)。有人提到,“實(shí)際各個(gè)版本的安卓模擬器里都有 Houdini,只是不是官方渠道得到的。”
但用于模擬器并非英特爾開(kāi)發(fā) Houdini 的本意。事實(shí)上,名為 libhoudini.so 的模塊存在于每一臺(tái)搭載英特爾 x86 處理器的 Android 手機(jī)里,負(fù)責(zé)把 ARM 原生庫(kù)動(dòng)態(tài)翻譯成 x86 指令集,來(lái)實(shí)現(xiàn)兼容運(yùn)行。
……等等?還有英特爾芯片的安卓手機(jī)?
當(dāng)然有,但這是一個(gè)悲劇。英特爾自 21 世紀(jì)初就著手為移動(dòng)設(shè)備制造 CPU,但它最終賣(mài)掉了與手機(jī)相關(guān)的業(yè)務(wù),蹉跎了十多年光陰。
2000 年代初,在當(dāng)時(shí)的 CEO 巴雷特(Craig Barrett)領(lǐng)導(dǎo)下,英特爾開(kāi)始制定制造手機(jī)芯片等的移動(dòng)戰(zhàn)略。當(dāng)時(shí),英特爾為功能手機(jī)開(kāi)發(fā)基于 ARM 架構(gòu)的 StrongARM 處理器,與德州儀器的 OMAP 處理器競(jìng)爭(zhēng)。
![]()
在 2005 年,巴雷特堅(jiān)稱(chēng)英特爾的移動(dòng)芯片很受手機(jī)制造商的歡迎。但其繼任者歐德寧(Paul Otellini)認(rèn)為,英特爾的核心業(yè)務(wù)是個(gè)人電腦市場(chǎng),需要砍掉不重要的分支,以對(duì)付來(lái)自 AMD 的競(jìng)爭(zhēng)壓力。
2006 年歐德寧上任后的“兩板斧”,一是大力促成了蘋(píng)果從 PowerPC 轉(zhuǎn)投英特爾陣營(yíng),二是以 6 億美元的價(jià)格將 StrongARM 資產(chǎn)出售給美滿(Marvell)公司。
后來(lái),iPhone 和 iPad 的發(fā)售改變了英特爾對(duì)智能手機(jī)的看法。特別是 iPad 在 2010 年發(fā)布后,開(kāi)始損害個(gè)人電腦的銷(xiāo)量,而這些設(shè)備不使用 x86 芯片。
英特爾開(kāi)始倉(cāng)促修改最初為“上網(wǎng)本”設(shè)計(jì)的低功耗處理器凌動(dòng)(Atom),以打造新的上網(wǎng)終端“移動(dòng)互聯(lián)網(wǎng)設(shè)備”(MID)。但這玩意兒仍然是 PC 思維,想要脫離鼠標(biāo)鍵盤(pán),純用手操作仍有難度。
![]()
由于 2006-08 年高速移動(dòng)互聯(lián)網(wǎng)仍未普及,資費(fèi)高昂,英特爾無(wú)法感知智能手機(jī)市場(chǎng)的增長(zhǎng)。有分析師認(rèn)為“個(gè)人電腦就是英特爾的世界觀”。
2010 年,英特爾做出 Moorestown 芯片,但對(duì)智能手機(jī)來(lái)說(shuō)太耗電了;此后出了改款 Medfield,首款搭載的智能手機(jī)是 2012 年 1 月發(fā)布的聯(lián)想 K800,隨后是在印度發(fā)布的 Xolo X900 與法國(guó)電信的貼牌機(jī)。
![]()
這些手機(jī)運(yùn)行著 Android 系統(tǒng),但在此之前英特爾又走了一段彎路。為了躲開(kāi) Android,英特爾先是搞了基于 Linux 的 Moblin,2010 年與諾基亞 Maemo 合并為 Meego;這個(gè)系統(tǒng)此后又轉(zhuǎn)到三星手里變成了 Tizen。直到 2011 年,英特爾才下定決心選擇安卓,但為時(shí)已晚。
與此同時(shí),英特爾對(duì)小型設(shè)備芯片的開(kāi)發(fā)重心放在了低功耗上面,而不是改善性能。這本來(lái)是因?yàn)?ARM 主打低能耗,但局部改善并不能追上根本性的能效比差異,只是稍微延長(zhǎng)了此后“超極本”的續(xù)航時(shí)間。
到 2014 年,接替歐德寧的科茲安尼克(Brian Krzanich)決定投入巨額補(bǔ)貼實(shí)現(xiàn)凌動(dòng)出貨 4000 萬(wàn)片的目標(biāo)。當(dāng)年英特爾共出貨 4600 萬(wàn)片凌動(dòng)芯片,主要投向平板電腦市場(chǎng),但導(dǎo)致了巨額虧損。科茲安尼克決定不再為 x86 手機(jī)重復(fù)補(bǔ)貼政策。這基本標(biāo)志著英特爾在智能手機(jī)芯片市場(chǎng)的全面潰敗。
隨著手機(jī)芯片制程工藝日益進(jìn)取,跟 ARM+臺(tái)積電的組合相比,英特爾毫無(wú)還手之力。與此同時(shí),各檔次芯片的成本和售價(jià)也進(jìn)入了下降區(qū)間。2019 年,英特爾最后將 5G 調(diào)制解調(diào)器業(yè)務(wù)賣(mài)給了蘋(píng)果,從而徹底退出了手機(jī)芯片市場(chǎng)。
根據(jù) Recode 的報(bào)道,英特爾在移動(dòng)設(shè)備芯片制造領(lǐng)域投入 100 億美元(截止 2016 年),結(jié)果一無(wú)所獲。
在此之前,它的最后一款 x86 安卓手機(jī)產(chǎn)品在 2018 年 MWC 上亮相,定位于低端機(jī)型,面向拉美及非洲銷(xiāo)售。在 MWC 現(xiàn)場(chǎng),數(shù)碼編輯頂著展臺(tái)工作人員的壓力,堅(jiān)持了 20 分鐘才勉強(qiáng)完成了一個(gè)性能測(cè)試,同時(shí)把機(jī)器變成了暖手寶。
![]()
![]()
綜合來(lái)看,對(duì) PC 的路徑依賴(lài),在切換到手機(jī)芯片賽道、選擇 Android 操作系統(tǒng)等關(guān)鍵決策上的反復(fù)和短視,以及優(yōu)化策略上的舉棋不定,共同造就了英特爾 x86 手機(jī)芯片戰(zhàn)略的破產(chǎn)。
由于英特爾在 2010 年代初最終決定切換到兼容 Android,這就意味著必須解決 ARM 指令集到 x86 芯片的轉(zhuǎn)譯問(wèn)題,Houdini 就是在這個(gè)背景下開(kāi)始研發(fā)的。在 2010 年的采訪中提到,那時(shí)李劍慧“又回過(guò)頭來(lái)繼續(xù)做二進(jìn)制編譯項(xiàng)目”,推測(cè)此時(shí)他們的工作已經(jīng)很接近研發(fā) Houdini 的范圍了。
原本為 Android x86 版本研發(fā)的 Houdini 并未因?yàn)樵摪嫦到y(tǒng)的低覆蓋率而被雪藏,隨著 5G 推進(jìn),Houdini 被用于日漸成熟的云游戲和 AI 領(lǐng)域。
2018 年“英特爾與騰訊公司合作,利用英特爾至強(qiáng)服務(wù)器的芯片處理能力,配合英特爾 Iris Pro 核心顯卡獨(dú)有的云端渲染與視頻轉(zhuǎn)碼技術(shù),以及 Houdini 指令翻譯軟件包,能夠?qū)崿F(xiàn)用戶在使用 App 的過(guò)程中實(shí)時(shí)解碼,嚴(yán)格控制云游戲保持低延遲的流暢表現(xiàn),有效提升用戶體驗(yàn)。”
另外,Houdini“可以在基于人工智能的平臺(tái)上透明地運(yùn)行 Android ARM 應(yīng)用,帶來(lái)出色的用戶體驗(yàn)”。
不過(guò)就像上面提到的那樣,Houdini 事實(shí)上應(yīng)用最廣泛的地方是 PC 安卓模擬器,市面上絕大部分的模擬器都是基于 VirtualBox + Android x86 + Houdini 方案。
![]()
雖然安卓應(yīng)用當(dāng)中有專(zhuān)屬的美團(tuán)、抖音等消費(fèi)和娛樂(lè)工具,以及 Protake、掃描全能王等生產(chǎn)力工具,但社長(zhǎng)覺(jué)得大部分人裝安卓模擬器的最主要用途還是……游戲。
由于電腦具備大屏鍵鼠操控優(yōu)勢(shì),難免對(duì)在線對(duì)戰(zhàn)游戲的公平性產(chǎn)生影響。所以,不少游戲會(huì)用一些技術(shù)手段判斷是否處于模擬器中運(yùn)行。其中一個(gè)簡(jiǎn)便易行的辦法就是查看系統(tǒng)目錄是否帶有 libhoudini.so 這個(gè)文件。國(guó)外有些“比較正經(jīng)的”模擬器比如 Genymotion 都會(huì)保留該文件,而國(guó)內(nèi)開(kāi)發(fā)的模擬器品種,有的會(huì)為了對(duì)抗反作弊措施而設(shè)法隱藏該文件。
在技術(shù)論壇上有人提到,某些優(yōu)秀模擬器會(huì)讓游戲獲取的設(shè)備信息顯示為 arm 而不是 x86,還會(huì)分配一個(gè)虛假的 ARM 處理器型號(hào)信息,欺騙游戲認(rèn)為自己運(yùn)行在一個(gè) ARM 環(huán)境中。
為此,游戲開(kāi)發(fā)者不得不長(zhǎng)期采集使用電量、WIFI信號(hào)、蜂窩信號(hào)、陀螺儀等動(dòng)態(tài)變化特征,才能判斷是否運(yùn)行在模擬器中。“如某 FPS 手游,新玩家進(jìn)入后,分配到的游戲區(qū)不是模擬器專(zhuān)用游戲區(qū),而當(dāng)進(jìn)入第二局游戲的時(shí)候,就被分配到了模擬器專(zhuān)區(qū)。”
——這也許就是為什么包括大型游戲在內(nèi),很多安卓應(yīng)用都想方設(shè)法收集那些盡可能多的,看起來(lái)也許用不上的個(gè)人信息。
可以預(yù)計(jì),基于英特爾 Bridge 的 Windows 11 安卓子系統(tǒng),在給游戲和其它應(yīng)用輸送設(shè)備信息時(shí)會(huì)“誠(chéng)實(shí)”地顯示處于 PC 環(huán)境。
然而,多屏協(xié)同已經(jīng)是肉眼可見(jiàn)的未來(lái)趨勢(shì),華為在官宣“鴻蒙”時(shí)已經(jīng)演示了將小屏安卓游戲投射到同一家庭的平板上,以繼續(xù)“作弊”的功能。
與此同時(shí),安卓應(yīng)用自身也在不斷優(yōu)化,為觸屏、鍵鼠、折疊屏等多種使用環(huán)境的隨意切換創(chuàng)造條件。舉個(gè)例子,訊飛輸入法最近的一次更新,讓外接藍(lán)牙鍵盤(pán)以后的表現(xiàn),就像是電腦上的輸入法一樣,也可以使用 ctrl+c 和 ctrl+v 快捷鍵。
![]()
更不用說(shuō),以微軟 XBOX Game Pass、谷歌 Stadia、英偉達(dá) GeForce Now 為代表的新一代流式傳輸?shù)?ldquo;云游戲”,正隨著 5G 和高速家庭寬帶的普及而具備基礎(chǔ)的可用性,將同一種游戲體驗(yàn)帶到從手機(jī)、平板、PC 到電視的所有屏幕,甚至多次嘗試“入侵”蘋(píng)果封閉的應(yīng)用商店生態(tài)。
2020 年 9 月,蘋(píng)果宣布改變其 App Store 規(guī)則,允許游戲流媒體服務(wù)上架,不過(guò)附加要求每一款在云游戲平臺(tái)內(nèi)玩的游戲,本身也應(yīng)該單獨(dú)提交蘋(píng)果商店審核。這是諸多云游戲廠商苦心爭(zhēng)取的結(jié)果,而手握 XBOX Game Pass 的微軟自身就是其中最大的游說(shuō)者之一。
所以,原本人們會(huì)擔(dān)心安卓完全為觸屏設(shè)計(jì)的界面在電腦桌面水土不服,現(xiàn)在這個(gè)問(wèn)題也在解決中??赡苓@也是 Windows 11 選在當(dāng)下兼容安卓應(yīng)用的一個(gè)原因。
另一邊,安卓自身也在不斷演化。APK 包為基礎(chǔ)的海量應(yīng)用生態(tài)是安卓一手創(chuàng)造的,所以谷歌其實(shí)也并不想坐等微軟或別的對(duì)手發(fā)展到足以形成威脅的程度。
幾乎在 Windows 11 發(fā)布的同一時(shí)間,谷歌 Play 商店決定,將應(yīng)用分發(fā)格式從 APK 安裝包逐步過(guò)渡到谷歌自有的 AAB 格式。這是谷歌挾統(tǒng)治地位以令諸侯,對(duì)微軟染指 APK 應(yīng)用生態(tài)的反制嗎?
當(dāng)然,一種政策的部署自然需要其時(shí)間,這個(gè) AAB 絕不是一夜之間開(kāi)發(fā)完成的,而是已經(jīng)推行了很久。它的本來(lái)目的是為了優(yōu)化安裝過(guò)程,減少下載應(yīng)用消耗的流量和存儲(chǔ)空間。
2018 年,谷歌推出了一種分發(fā)安卓應(yīng)用程序的新方法,稱(chēng)為安卓應(yīng)用程序捆綁包(Android app bundles, AAB)。它不表現(xiàn)為一個(gè)后綴名為 AAB 的單獨(dú)安裝包,而是按照處理器型號(hào)、屏幕大小、分辨率、內(nèi)核版本等不同,按需揀選和下載組件,在安裝的當(dāng)時(shí)現(xiàn)場(chǎng)“組裝”為一個(gè)臨時(shí)的安裝包。
常規(guī)的 APK 文件包含用于每一種可能的屏幕尺寸和處理器架構(gòu)的資源文件,但 AAB 使得 Play 商店保存在手機(jī)上的安裝包,只有適合這臺(tái)手機(jī)的特定架構(gòu)、屏幕大小的資源文件。
![]()
這種按需下載資源,再組裝起來(lái)的方法有如下好處:
有國(guó)內(nèi)報(bào)道顯示,華為在鴻蒙 2.0 系統(tǒng)中對(duì)一些應(yīng)用做了專(zhuān)門(mén)優(yōu)化,其優(yōu)化邏輯可能也是減少用于兼容其它機(jī)型的資源文件。“有知乎用戶發(fā)現(xiàn),2.0.0.053 版本的鴻蒙系統(tǒng),內(nèi)置了三個(gè)鴻蒙 App,包括央視影音、優(yōu)酷和新浪新聞。而鴻蒙版央視影音只有 1.35MB,比安卓版本要小很多。”
在谷歌宣布 AAB 逐步替代 APK 上架商店之前,一些流行的應(yīng)用——包括 Netflix、Chrome 等——早已采用了這項(xiàng)新技術(shù),使得它們無(wú)法上傳到 APKMirror、APKPure 這樣的第三方應(yīng)用商店(也不能上傳到華為的 AppGallery)。
經(jīng)過(guò)一年多的開(kāi)發(fā),APKMirror 提供了一個(gè)可以組裝 AAB 安裝包的第三方應(yīng)用安裝器 APKMirror Installer。它如同一個(gè)文件管理器,由用戶選擇文件手動(dòng)安裝,所以可以不違反谷歌 Play 商店的準(zhǔn)則。
從 8 月開(kāi)始,谷歌 Play 商店已經(jīng)要求開(kāi)發(fā)者發(fā)布更新時(shí)使用較新的 AAB 格式。谷歌解釋說(shuō),現(xiàn)在有超過(guò) 100 萬(wàn)個(gè)應(yīng)用使用 AAB,包括 Play 排名前 1000 位的應(yīng)用和游戲中的大多數(shù),如 Adobe、Duolingo、Gameloft、Netflix、Twitter 等廠家。
資深微軟分析師 Paul Thurrott 認(rèn)為,谷歌改用 AAB 顯然是針對(duì)包含亞馬遜 Fire 在內(nèi)的所有其他安卓商店,而不是 Windows;但是,宣布 Windows 11 能支持 APK 包,可能會(huì)加速谷歌推動(dòng) AAB 的決定。
當(dāng)然,總體上谷歌的改動(dòng)無(wú)傷大雅。畢竟,APK 是最知名的安卓應(yīng)用安裝格式,并且已經(jīng)存在了很長(zhǎng)時(shí)間。APK 是所有安卓及魔改版系統(tǒng)都兼容的最大公約數(shù),加上存量眾多的中國(guó)“特供版”安卓應(yīng)用商店,未來(lái)這一格式被替代的可能性微乎其微。
微軟納入疲弱的亞馬遜 Fire 商店,以上架受信任的安卓應(yīng)用。但鑒于 Win11 可以旁加載安卓應(yīng)用,即使不想上架商店,開(kāi)發(fā)者也可以提供 APK 包作為讓 Windows 用戶直接體驗(yàn)的手段。
不過(guò),旁加載應(yīng)用的一個(gè)問(wèn)題是為盜版、破解版大開(kāi)方便之門(mén),而另一個(gè)問(wèn)題是安全——目前的機(jī)制下,Linux 和 Android 子系統(tǒng)相當(dāng)于運(yùn)行在 Hyper-V 平臺(tái)上的“虛擬機(jī)”,但不同于真正的虛擬機(jī),它們跟主系統(tǒng)并沒(méi)有徹底隔離。如果用戶的安全意識(shí)不足,為安卓應(yīng)用開(kāi)放了過(guò)多權(quán)限,就有風(fēng)險(xiǎn)存在。以往有些勒索病毒可以穿透虛擬機(jī),感染存儲(chǔ)在主機(jī)上的文檔。
這樣一來(lái),微軟需要認(rèn)真地考慮在中國(guó)區(qū)跟哪個(gè)安卓應(yīng)用市場(chǎng)合作——說(shuō)不準(zhǔn)是應(yīng)用寶?可以想見(jiàn),Windows 11 可以更進(jìn)一步吸引更多海外 App 跟中國(guó)一樣,拋棄對(duì)谷歌 GMS 的依賴(lài)。
Windows 11 直接兼容安卓應(yīng)用也許會(huì)引起很多連鎖反應(yīng),其中最夸張的一種猜測(cè)是,有的開(kāi)發(fā)者可能會(huì)就此轉(zhuǎn)向只開(kāi)發(fā)一次 iOS 和安卓應(yīng)用,放棄對(duì) PC 原生版的開(kāi)發(fā)。
從上古 Java 到 Flash,再到 Electron、React、Flatter 等框架,“寫(xiě)一次就到處運(yùn)行”的信仰之火從不熄滅,但只是越發(fā)微弱。開(kāi)發(fā)者逐漸體驗(yàn)到,在一個(gè)平臺(tái)上,如果能原生運(yùn)行相關(guān)的應(yīng)用,其效率一定是更高的。
現(xiàn)代跨平臺(tái)開(kāi)發(fā)的主要方式是 HTML,也包括小程序等各種變種,在封裝之后加入了本地緩存能力而成。但網(wǎng)頁(yè)的顯示效率取決于手機(jī)/電腦上的 WebView 控件,它往往要吃掉很多資源,而且導(dǎo)致卡頓。
輕芒創(chuàng)始人王俊煜曾對(duì)航通社提到,輕芒雜志 App 的首頁(yè)作為一個(gè)無(wú)限滾動(dòng)的頁(yè)面,原本是選用原生與網(wǎng)頁(yè)的混合模式開(kāi)發(fā),但效率非常低,所以最后改成了純?cè)鷺邮健6?Windows 11 當(dāng)中的微軟商店也進(jìn)行了類(lèi)似的修改,從 Win10 時(shí)代的 HTML/CSS 編寫(xiě)改成了微軟原生的 XAML 語(yǔ)言,所以頁(yè)面滾動(dòng)更順滑了。
所以,隨著 Mac 支持 iOS 應(yīng)用,Windows 支持安卓應(yīng)用,開(kāi)發(fā)者是否會(huì)逐漸放棄開(kāi)發(fā) PC/Mac 版本?
這是否會(huì)成為一個(gè)趨勢(shì),還要看 Bridge 的具體運(yùn)行效果如何,是還會(huì)卡頓,還是如絲般順滑。這也要看未來(lái)安卓手機(jī)、平板、折疊屏設(shè)備的多點(diǎn)開(kāi)花,是否呼喚著開(kāi)發(fā)者適配不同大小的屏幕和不同的輸入方式。
現(xiàn)有的跨平臺(tái)開(kāi)發(fā)技術(shù),大多面臨著要選兼容性,還是選效率和穩(wěn)定性的難題。可以想見(jiàn),如果開(kāi)發(fā)者沒(méi)必要二選一,他們大多數(shù)人會(huì)做何選擇。
這也可能是又一次像是漸進(jìn)式網(wǎng)頁(yè)應(yīng)用(PWA)的失敗嘗試,畢竟從現(xiàn)在看它也有很多可能導(dǎo)致失敗的隱患。但它萬(wàn)一成了,對(duì)未來(lái)應(yīng)用生態(tài)的影響,可能遠(yuǎn)超出我們現(xiàn)在的想象。
微軟 CEO 納德拉認(rèn)為,兼容安卓應(yīng)用對(duì)于原本專(zhuān)研安卓開(kāi)發(fā)的人是重大利好。
“通過(guò)將安卓應(yīng)用曝光在超過(guò)十億的用戶群中,為構(gòu)建安卓應(yīng)用的人創(chuàng)造更多機(jī)會(huì),我認(rèn)為開(kāi)發(fā)者和用戶都會(huì)從中受益。”
“在微軟,我們?yōu)?iOS、安卓、Windows 構(gòu)建應(yīng)用。這是我們面臨的根本挑戰(zhàn)之一。我們正在努力確保開(kāi)發(fā)人員可以利用盡可能多的通用代碼庫(kù)和云,但同時(shí),又在每個(gè)平臺(tái)上是原生的。”
由中國(guó)工程師李劍慧領(lǐng)銜,英特爾中國(guó)團(tuán)隊(duì)研發(fā)的 Houdini 是 Windows 11 實(shí)現(xiàn)其兼容安卓應(yīng)用愿景的基礎(chǔ)。不過(guò)這并非中國(guó)人對(duì)跨平臺(tái)、跨架構(gòu)兼容所做的唯一貢獻(xiàn)。
航通社之前的文章提到過(guò),深度-統(tǒng)信軟件對(duì) UOS/Deepin 下的 Wine 做了大量細(xì)致的工作,使得分支 Deepin-wine 對(duì)部分國(guó)產(chǎn)軟件的兼容適配程度大為提高。
今年 6 月 20 日,麒麟軟件有限公司發(fā)布優(yōu)麒麟 20.04 LTS Pro 版本,首次宣布支持移動(dòng)兼容環(huán)境,也就是在優(yōu)麒麟桌面上運(yùn)行 Android 應(yīng)用。此前 UOS 在 ARM 架構(gòu)機(jī)器上的版本可以運(yùn)行少部分 Android 應(yīng)用,因?yàn)椴恍柁D(zhuǎn)譯。而優(yōu)麒麟的“麒麟移動(dòng)運(yùn)行環(huán)境”KMRE 與此還有不同。
![]()
官方介紹稱(chēng),“KMRE 不是虛擬機(jī),而是真正地將 Linux 和 Android 操作系統(tǒng)‘合二為一’,通過(guò)共用內(nèi)核,直接使用硬件,同時(shí)支持 ARM 和 x86 設(shè)備和多種 CPU、GPU,更有效解決了顯示性能損耗、多窗口運(yùn)行、桌面共享、文件互通等問(wèn)題。”
KMRE 是 Google Arc 之外在 Linux 上運(yùn)行安卓應(yīng)用的另一選擇,不再依賴(lài)于閉源的 Chrome,針對(duì)開(kāi)源驅(qū)動(dòng)的顯卡,能夠直接訪問(wèn)硬件,做到零性能損失。
在 Linux 上運(yùn)行 Android 版的騰訊會(huì)議時(shí), KMRE 可以將電腦上的文檔,乃至整個(gè) Linux 桌面共享給其他參會(huì)者。針對(duì)大型 Android 游戲,還實(shí)現(xiàn)了模擬多觸,支持技能鍵、方向鍵的設(shè)置,讓用戶可以用鼠標(biāo)和鍵盤(pán)操作游戲。
這樣的高度融合需要適配眾多的處理器和顯卡,在適配工作量大的情況下,為保證產(chǎn)品質(zhì)量,安卓應(yīng)用暫時(shí)只能通過(guò)軟件商店下載,而今后會(huì)開(kāi)放安裝本地 APK 包。
這幾年,“國(guó)產(chǎn)操作系統(tǒng)”或者其它在 Windows、安卓、蘋(píng)果之外的選擇,正變得越來(lái)越實(shí)際可用。不論是專(zhuān)為替代系統(tǒng)研發(fā)的應(yīng)用軟件,還是讓新系統(tǒng)兼容現(xiàn)有的應(yīng)用生態(tài),全世界都不是毫無(wú)作為,而其中中國(guó)人所做的貢獻(xiàn),顯得尤為突出。
世界上沒(méi)有永遠(yuǎn)盛開(kāi)的花,當(dāng)初某些標(biāo)準(zhǔn)占據(jù)了統(tǒng)治地位,并不意味著永遠(yuǎn)如此。曾幾何時(shí),當(dāng)我們討論起國(guó)內(nèi)所謂自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng),說(shuō)到最困難的部分也就是如何搭建應(yīng)用生態(tài)。而借力安卓,并且借助安卓在 PC 的大范圍使用,優(yōu)化其針對(duì)鍵盤(pán)/鼠標(biāo)的交互,使其成為電腦上人們常用的應(yīng)用形態(tài),長(zhǎng)遠(yuǎn)也會(huì)幫助國(guó)產(chǎn)系統(tǒng)繞過(guò) Windows 和 macOS 兩座堅(jiān)固的壁壘。
參考資料:
https://newsroom.intel.cn/news-releases/intel-bridge-technology-unleash-windows-11-experience/
https://cn.engadget.com/intel-bridge-windows-11-android-apps-082012029.html
https://www.intel.cn/content/www/cn/zh/artificial-intelligence/posts/intel-facebook-boost-bfloat16.html
https://patents.justia.com/inventor/jianhui-li
https://www.mixuai.com/20150119/716006.html
http://vic.sina.com.cn/news/27/2011/0126/28208.html
https://github.com/Jianhui-Li
https://www.zhihu.com/question/467264037/answer/1967747846
https://www.pcworld.com/article/3065894/how-intel-knocked-itself-out-of-the-smartphone-chip-market.html
https://www.163.com/tech/article/7NFPUIH3000915BD.html
http://recode.net/2016/05/02/intel-10-billion-on-mobile-before-giving-up/
https://www.anandtech.com/show/12592/intels-last-atom-in-smartphones-a-2018-benchmark
https://baijiahao.baidu.com/s?id=1619466771320585374
https://segmentfault.com/a/1190000014999805
https://www.cnbeta.com/articles/tech/1125729.htm
https://www.androidpolice.com/2020/03/24/apkmirror-installer-for-android-now-in-public-beta-lets-you-install-app-bundles-and-apks/
https://www.thurrott.com/dev/252614/google-is-replacing-android-apk-with-aab
https://www.cnbeta.com/articles/tech/1148501.htm
https://www.theverge.com/22549385/microsoft-satya-nadella-interview-windows-11-decoder
https://mp.weixin.qq.com/s/i1yGqvjtX2cObNIsZXV1DA
https://www.cnbeta.com/articles/tech/1149477.htm
快報(bào)
根據(jù)《網(wǎng)絡(luò)安全法》實(shí)名制要求,請(qǐng)綁定手機(jī)號(hào)后發(fā)表評(píng)論